【发布时间】:2017-08-20 14:14:50
【问题描述】:
我刚刚安装了 OpenCV 3.2.0,我可以在this question 中找到this image 中的许多/大部分角落,方法是使用对比度然后使用cv2.findChessboardCorners(left_gray, (6,5)) 或使用cv2.goodFeaturesToTrack(gray_img,25,0.01,10),如@ 中所述987654323@.
虽然 findChessboardCorners 要么返回全部 6×5=30 个或 None,但我可以看到,对于质量较低的图像,有时并非所有点都可以找到 goodFeaturesToTrack 方法。
但是当我阅读documentation for cv2.calibrateCamera() 时,看起来对象点需要与每个视图的图像点一一对应。如果其中一个图像有缺失点,我必须找到它并将其从该图像的对象点列表中删除。
是否有一些 cv2 方法可以自动处理这个问题?
编辑:我现在想知道,cv2.findHomography() 是否使用了我在这里寻找的稳健方法之一?
当然,如果外部行或列全部丢失,则存在无法解决的歧义,但如果缺少一些内部点,则仍然可以进行校准。
我可能会尝试写一些东西,当然只是拒绝任何发现角数错误的视图,但是如果已经有一种现有的方法来处理不引起歧义的缺失点,我想尝试首先它。目标是尽可能地自动化该过程,而不会跳过每个找到的点数错误的图像。
【问题讨论】:
-
@LamarLatrell 你能帮我澄清一下我对 OpenCV 的理解吗? :-)
标签: python opencv camera-calibration cv2