Opencv是否允许您使用6个点来计算3x4透视变换?

时间:2019-06-08 13:22:36

标签: python opencv computational-geometry

我想在同构坐标中计算3x4矩阵变换,该变换将3d世界点转换为2d图像点。我的问题是,在函数getPerspectiveTransformation的文档和教程中,对于透视图,默认矩阵为3x3或在仿射变换中为2x3。

是否有内置函数可以计算3x4矩阵?

我已经阅读了教程,一些有关计算机视觉的书,并且我知道将3d转换为2d的矩阵是3x4。必须输入6个点才能获得此矩阵,在我为opencv找到的示例中,它们正在使用4,因此我想这是2d到2d转换,不是我所需要的。

cv2.getPerspectiveTransform cv2.getAffineTransform

我使用了这些函数,但是没有用,我使用cv2.circle函数在图像上绘制了应该是直线的线,并且得到了曲线。显然我没有使用适当的矩阵变换。

2 个答案:

答案 0 :(得分:0)

好吧,如果您愿意,可以尝试创建自己的代码来做到这一点。如果对您有帮助,这是我对这个问题的“理论上”的看法。 enter image description here enter image description here enter image description here

答案 1 :(得分:-4)

当然可以。只需在OpenCV库文档中查找computeThreeByFourMatrix()函数即可。都在那里