如何找到正方形图案角落的像素坐标?
-
09-10-2019 - |
题
这可能不是与编程有关的,但可能会将其回答的最佳位置。
对于摄像机校准,我有一个8 x 8平方的图案印在纸上。我必须手动将这些坐标输入到文本文件中。然后,该软件将从那里捡起并计算校准参数。
我是否可以在这些图像上运行脚本或一些软件,并获得64个正方形中每个正方形的4个角的像素坐标?
解决方案
您可以使用传统的棋盘图案(即没有间隙的黑白正方形)来执行此操作 cvFindChessboardCorners()
. 。您可以在此处阅读有关功能的更多信息 OPENCV API参考 并在 O'Reilly的OpenCV书 或者 在线其他地方. 。作为额外的奖励,OPENCV具有内置功能,可以计算相机的固有参数,以及用于平面校准对象的多个视图的外部参数。
其他提示
我会:
- 应用阈值并获得二进制图像。
- 申请 Sobelx 过滤到图像。您将获得带有垂直线的图像。这属于几乎垂直的正方形的侧面。保持这个 Image1.
- 申请 哭泣 过滤到图像。您将获得带有水平线的图像。这属于几乎水平的正方形的侧面。保持这个 Image2.
- 制作 (Image1 XOR Image2)。您将获得带有白色像素的黑色图像,指示角位置。
希望能帮助到你。
我敢肯定,那里有许多计算机视觉库,那里有不同的功能和许可证,但是我还记得一个脑海 Artoolkit, ,应该能够识别这种模式。如果不可能,它会带有一组非常好的图案,这些图案是量身定制的,即使它们部分被遮盖了,也可以被识别。
我不知道Artoolkit(尽管我听说过很多),但是使用OpenCV,这种处理是微不足道的。
不隶属于 StackOverflow