我试图通过在图片中找到平面图像来使用此代码来查找相机位置:
https://docs.opencv.org/3.3.1/d1/de0/tutorial_py_feature_homography.html
对于这张图片,它可以正常工作:
找到模式。我使用cv2.projectPoints在背景图片上绘制图像:
但有时solvePnP会返回疯狂的结果,例如对于此图片:
如果我重新投影模式,我会得到疯狂的形象位置:
对于这种情况,我已经验证了SIFT点,它们看起来正确且匹配:
我尝试使用solvePnPRansac而不是solvePnP,但它没有帮助,估计位置仍然是stange。 可能是什么原因以及如何解决这个问题?
答案 0 :(得分:2)
好的,我已经设法通过将失真矩阵设置为np.array([])来改善姿势估计,因为我已经在SIFT之前纠正了图像。同样适用于cv2.projectPoints,也不需要为此函数提供失真系数。