Знаете ли вы, каков размер желаемого прямоугольника?Вы можете отобразить любой выпуклый четырехугольник на прямоугольник с обратимым преобразованием с перспективным преобразованием, если это так.Все, что вам нужно сделать, это получить 4 соответствующие точки (между четырехугольником и прямоугольником), скажем, (X 1 , Y 1 ), (X 2 , Y 2 ), (X 3 , Y 3 ), (X 4 , Y 4 )для четырехугольника и соответственно (x 1 , y 1 ), (x 2 , y 2 ), (x 3 , y 3 ), (x 4 , y 4 ) для прямоугольника.Затем включите его в окончательное уравнение в ссылку Бореалида , и вы установите:
Решение вышеприведенного уравнения (где n = 4) будетдать вам элементы (a, b, c, d, e, ..., h) матрицы обратимого преобразования перспективы,
Это позволит вам преобразоватьуказывает на прямоугольник к точкам на четырехугольнике.Для обратного преобразования просто инвертируйте матрицу преобразования.
Также обратите внимание, что как только вы получите вектор [XW YW W] T преобразованных координат, вам нужно его нормализовать так, чтобы W = 1. Т.е. ваш окончательный ответ был [XW /W YW / WW / W] T , что равно [XY 1] T , требуемый ответ.