如何找到方形图案角点的像素坐标?

时间:2010-12-06 07:32:23

标签: language-agnostic image-processing opencv camera-calibration

这可能与编程无关,但程序员可能最适合回答它。

对于相机校准,我在纸张上打印了一个8 x 8方形图案。我必须手动将这些坐标输入到文本文件中。然后,软件将从那里拾取并计算校准参数。

是否有可以在这些图像上运行的脚本或某些软件,并获得64个方块中每个方块的4个角的像素坐标?

alt text

4 个答案:

答案 0 :(得分:5)

您可以使用cvFindChessboardCorners()使用传统的棋盘图案(即没有间隙的黑白方块)来完成此操作。您可以在OpenCV API Reference中详细了解该功能,并在O'Reilly's OpenCV Bookelsewhere online中查看一些示例代码。作为额外的奖励,OpenCV具有内置函数,用于计算相机的内部参数以及平面校准对象的多个视图的外部参数数组。

答案 1 :(得分:2)

我会:

  • 应用阈值并获取二值化图像。
  • SobelX 过滤器应用于图像。你得到一个垂直线条的图像。这属于几乎垂直的正方形的边。将其保留为 image1
  • SobelY 过滤器应用于图像。你得到一个水平线的图像。这属于几乎水平的正方形的边。将其保留为 image2
  • 制作( image1 xor image2 )。你得到一个黑色图像,白色像素表示角落位置。

希望它有所帮助。

答案 2 :(得分:1)

我确信有许多计算机视觉库具有不同的功能和许可证,但我能记住的是ARToolKit,它应该能够识别这种模式。如果这是不可能的,它会附带一组非常好的图案,这些图案经过定制,即使它们被部分遮挡也能被识别出来。

答案 3 :(得分:0)

我不知道ARToolKit(虽然我听说过很多)但是使用OpenCV这个处理很简单。