c-从对象的图像坐标获取世界坐标
作者:互联网
我一直在关注this文档以使用OpenCV.在下面的公式中,我成功地计算了内部矩阵和外部矩阵(我已使用SolvePnP()过程获得了这些矩阵).由于对象位于地面上,因此我已替换Z =0.然后,我刚刚删除了非本征矩阵的第三列,并将其与本征矩阵相乘以获得3X3投影矩阵.我将其取反,然后将其乘以图像坐标,即su,sv和s.
但是,世界坐标中的所有点似乎相差1毫米或更小,因此我的坐标不太准确.有人知道我可能会出问题吗?
谢谢
解决方法:
摄像机校准可能总是有些不准确,因为对于2个以上的校准图像,而不是对从校准图像获取的方程组得到一个真实的解,您将获得误差最小的解.
cv::solvePnP()也是如此.您可以使用三种方法中的一种来优化给定方程组的许多可能解.
我不明白您是如何从cv::solvePnP()获得本征矩阵和非本征矩阵的,该矩阵用于计算相机坐标系中对象的旋转和平移.
你可以做什么:
>尝试获得更好的内在参数
>为solvePnP like EPNP尝试其他方法或检查RANSAC version
标签:c,opencv,camera-calibration,computer-vision,signal-processing 来源: https://codeday.me/bug/20191010/1885409.html