История изменений
Исправление DawnCaster, (текущая версия) :
Здесь же задача, если на оптику перекладывать такая - есть исходная картинка, и та же самая картинка но через рифлёное стекло со случайной поверхностью. Надо вычислить как именно это рифлёное стекло искажает изображение, а потом используя эту информацию, имея только искажённую картинки получать из них реальные.
Вот как я вижу эту задачу с точки зрения систем координат Федера:
- У нас есть основная система координат со своими матрицами переноса, масштабирования и поворота.
- У нас есть вторая система координат для «деформированной» плоскости. Значения в матрицах переноса, масштабирования и поворота в ней зависят от базовых значений + функция от координаты точки внутри этой деформированной плоскости в её системе координат.
Таким образом, сначала требуется узнать функции по которым деформируется координата точки изображения (сдвиг, масштаб, поворот) в «деформированной» системе координат, по каждой оси, а потом получить нужные матрицы с учётом деформации для интересующей нам точки, и используя описанный метод (я уже не помню что там в каком порядке должно перемножаться, а гуглить лень) - посчитать координату для исходной (первой) системы координат.
Конечно, если у вас «деформация» второй плоскости каждый раз случайная и нет математической модели её описывающей, то данный метод подходит не особо хорошо.
Исходная версия DawnCaster, :
Здесь же задача, если на оптику перекладывать такая - есть исходная картинка, и та же самая картинка но через рифлёное стекло со случайной поверхностью. Надо вычислить как именно это рифлёное стекло искажает изображение, а потом используя эту информацию, имея только искажённую картинки получать из них реальные.
Вот как я вижу эту задачу с точки зрения систем координат Федера:
- У нас есть основная система координат со своими матрицами переноса, масштабирования и поворота.
- У нас есть вторая система координат для «деформированной» плоскости. Значения в матрицах переноса, масштабирования и поворота в ней зависят от базовых значений + функция от координаты точки внутри этой деформированной плоскости в её системе координат.
Таким образом, сначала требуется узнать функции по которым деформируется координата точки изображения (сдвиг, масштаб, поворот) в «деформированной» системе координат, по каждой оси, а потом получить нужные матрицы с учётом деформации для интересующей нам точки, и используя описанный метод (я уже не помню что там в каком порядке должно перемножаться, а гуглить лень) - посчитать координату для исходной (первой) системы координат.