2011-09-17 55 views
6

我一直在试图找出如何在两个平面之间进行单应性并将其转换为投影变换。 Matlab自动执行此操作,但我一直试图弄清楚matlab如何实现转换。同形映射到投影变换

+0

你在说哪个MATLAB函数? – Jacob

+0

我已经使用直接线性变换计算了单应性。我想知道maketform('投影',homographyMat)是如何工作的。谢谢! –

回答

2

单应性是一种投影变换,它将线条映射为线条,保持交叉比例,但不保留平行度或其他相似度值(角度,距离等)。 单应性可以表示为均匀的3x3矩阵,并根据您的问题以许多(真的,很多)不同的方式进行计算。

最典型的是确定两个平面之间的4点对应关系并使用直接线性变换(DLT)。 DLT也有很多实现。如果您熟悉OpenCV,可以使用cv::findHomographyhttp://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html?highlight=findhomography#findhomography)轻松获得此类单应性矩阵。一般来说,我建议你看一下Hartley & Zisserman的“多视图几何”一书,它详细解释了计算机视觉环境下的单应性概念。

3

你可以看一下在工具箱\影像\图像的源代码\ maketform.m

至少在编辑器中,您可以通过点击该功能的名称F4拿到了这一点。