Homography to projective transformation

I am trying to figure out how to make a homography between two planes and convert it to a projective transformation. Matlab does this automatically, but I tried to figure out how Matlab implements the conversion.

+6
source share
2 answers

Homography is a projective transformation that displays lines in straight lines, preserves the transverse relation, but does not preserve parallelism or other similarity values ​​(angles, distances, etc.). Homography can be expressed as a homogeneous 3x3 matrix and computed in many (indeed, many) different ways according to your problem.

The most typical is the determination of 4-point correspondences between two planes and the use of direct linear transformation (DLT). There are also many DLT implementations. If you are familiar with OpenCV, you can easily get such a homography matrix using cv::findHomography ( http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html?highlight=findhomography#findhomography ).

In general, I recommend you take a look at the book β€œMultiple Geometry of Sight” by Hartley and Sisserman, which explain in detail the concepts of homography in the context of computer vision.

+2
source

You can see the source code in the toolbar \ images \ images \ maketform.m

At least in the editor you can get this by pressing F4 on the function name.

+3
source

Source: https://habr.com/ru/post/897539/