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