Задача-пример обратного перспективного преобразования

Задача такая: имеется искаженная картина (изображение), для которой известны точные значения координат 4-х точек. Необходимо восстановить ее действительное изображение. Для этого по 4-м известным точкам восстанавливают исходную систему координат а значит и правильную геометрическую форму объекта.

Итак, имеется 4-е исходные точки и надо получить матрицу перехода вперёд и назад. Прямое преобразование было уже получено и приведено выше – слайд 23. Необходимо получить коэффициенты перехода в обратную сторону и получить, таким образом, матрицу обратного преобразования.

Сразу заметим, что коэффициент а33 = 1, и его искать не надо. Его можно сократить в числителе и знаменателе (просто вынести за скобку). Соответственно, в системе уравнений число уравнений будет не 9, а 8. Заметим также, что в формулах аффинного преобразования отсутствовал знаменатель, т.к. координата w всегда была равна 1 для точки (радиус-вектора) и 0 для направления, а коэффициенты p и q равнялись нулю. В перспективном преобразовании p и q не равны 0.

Решение задачи. Имеется 4-е точки соответствия стартового изображения и перспективного. Отметим, что в похожей задаче аффинного преобразования таких точек требовалось 3. Нужно найти такую матрицу, которая будет давать точный переход из одной системы координат в другую. Решение будем искать в виде

Р = Р' ∙ М; М=?

или

М = Р ∙ (Р')-1,

где М - матрица обратного преобразования.

Исходные данные: имеется 4-е пары точек соответственно в одной СК и в другой:

0 у0) (х'0 у'0)
1у1) (х'1 у'1)
2 у2) (х'2 у'2)
3 у3) (х'3 у'3)

Если в итоговой формуле для координат – слайд 23, умножить левые и правые части на знаменатель, помня, что в аффинных преобразованиях W=1 и a33=1, то получим два уравнения:

x=a11x'+a21y' +a31-a13x'x-a23y'x;

у=a12x+a22y' +a32-a13x'x-a23y'y;

Это зависимость новых координат от старых.

Подставляя в эти уравнения значения исходных координат как 8 зависимостей заданных пар точек, получим 8 уравнений для нахождения коэффициентов матрицы преобразования. В матричной форме эти линейные уравнения приведены на слайде 26.

Задача-пример обратного перспективного преобразования - student2.ru

Задачу решения этих уравнений можно упростить, не применяя метод Гаусса. Суть такого решения состоит в том, что вместо прямого преобразования переход из одной системы координат в другую можно найти через единичный квадрат – слайд 27, координаты вершин которого:

Задача-пример обратного перспективного преобразования - student2.ru

показаны на рис. ниже

Задача-пример обратного перспективного преобразования - student2.ru

Подставляя эти координаты в матрицу М1 и в матрицу М2 в итоговом матричном уравнении получим много нулей, что упростит все вычисления. Разобьём задачу на две части. Найдём матрицу М1 преобразования заданного изображения в единичный квадрат. Затем выполним ту же операцию с преобразованным четырёхугольником и получим матрицу М2. Тогда искомая матрица М может быть определена через скалярное произведение матриц М1 и М2, т.е. М = М1 ∙ М2-1.

Из матрицы М1 получаем уравнения для определения неизвестных коэффициентов aij

   

а111013х1

а213023х3

а310 эта система получена из исходной, слайд 27

а121013у1

а223023у3

а320

Для решения уравнений относительно коэффициентов aij (слайд 27 и 29) можно ввести обозначения:

Задача-пример обратного перспективного преобразования - student2.ru

И дальше находим решение (методом Крамера) для коэффициентов, отвечающих за перспективное преобразование:

a13= Задача-пример обратного перспективного преобразования - student2.ru a23= Задача-пример обратного перспективного преобразования - student2.ru

В результате получается матрица М1 перехода из исходного четырёхугольника в единичный квадрат.

Все процедуры повторяют для второй фигуры и получают матрицу М2. В конечном итоге получают матрицу М, обеспечивающую универсальный механизм произвольной привязки координат.

С плоскостью всё.

Это преобразование можно использовать для целей создания перспективных преобразований изображений, а также исправления разного рода искажений, на кривой фотографии или плохо отсканированной книги. Если исходная фигура была параллелограммом, то коэффициенты а12 и а13 получим равными 0, так как преобразование будет аффинным.

Наши рекомендации