世界坐标到图像坐标转换

问题描述

我在世界坐标 (1m,1m,3m) 处有一个对象。

相机原点位于 (0,0),指向前方,平行于 Z 轴。

如何计算图像坐标?

我遵循了本教程:https://docs.opencv.org/master/dc/dbb/tutorial_py_calibration.html

我为我的相机拍了 14 张照片,得到了一个 3x3 矩阵:

[[1.35740770e+03 0.00000000e+00 9.57760438e+02]
 [0.00000000e+00 1.35916518e+03 6.01632829e+02]
 [0.00000000e+00 0.00000000e+00 1.00000000e+00]]

据我所知,我需要使用齐次坐标并使用透视投影:

(1m,3m,1m) - 同质 3d 点,让我们表示这个 p

将矩阵变换为3x4,让我们表示这个M

[[1.35740770e+03 0.00000000e+00 9.57760438e+02 0]
 [0.00000000e+00 1.35916518e+03 6.01632829e+02 0]
 [0.00000000e+00 0.00000000e+00 1.00000000e+00 0]]

要获得像素坐标,我需要执行 [u,v,w] = M*p,然后将 uv 除以 w

我不确定这种方法是否正确。有什么想法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)