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

标签 python opencv computational-geometry

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

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

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

cv2.getPerspectiveTransform
cv2.getAffineTransform

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

最佳答案

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

关于python - Opencv是否允许您使用6点来计算3x4透视变换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56506815/

相关文章:

javascript - 使用参数客户端从 python 3 执行 javascript

c++ - 未找到 cxcore210d.dll

geometry - 球体表面上(经度、纬度)点的凸包

algorithm - Haskell 中的旋转卡尺

algorithm - 如何最大化集合中最近点之间的距离?

Python:如何使用类来绘制不同的线?

python - 我们可以从 py2exe 在 Python 中创建的可执行文件进行文件处理吗?

python - 属性错误 : 'module' object has no attribute

python - 删除两个字符之间的所有内容,包括字符

Python OpenCV : inverting colors in a numpy image array