Homography to Projective transform

2019-02-22 04:18发布

I've been attempting to figure out how to take a homography between two planes and convert it into an projective transform. Matlab does this automatically, but I've been trying to figure out how matlab implements the conversion.

2条回答
The star\"
2楼-- · 2019-02-22 04:44

A homography is a projective transform that maps lines to lines, keeps cross ratio, but does not keep parallelism or other similarity magnitudes (angles, distances, etc). A homography can be expressed as a homogeneous 3x3 matrix, and computed in many (really, many) different ways according to your problem.

The most typical one is to determine 4 point correspondences between the two planes and use the Direct Linear Transform (DLT). There are also many implementations of the DLT. If you are familiar with OpenCV, you can easily obtain such 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 to take a look to the "Multiple View Geometry" book from Hartley & Zisserman, which explain in detail the concept of homographies in the context of computer vision.

查看更多
男人必须洒脱
3楼-- · 2019-02-22 04:52

You can look at the source code in toolbox\images\images\maketform.m

At least within the editor you can get to this by hitting F4 on the function name.

查看更多
登录 后发表回答