【发布时间】:2013-06-19 13:24:35
【问题描述】:
我正在使用 Chessboard 使用 OpenCV 进行 3D 校准项目。校准工作正常,但我想识别棋盘中也是黑色的物体,并且应该彼此不同,如下图所示。我不知道该怎么做。哪些 OpenCV 函数有助于实现这一目标?
在@Aurelius 的建议之后,我尝试使用 cv::matchTemplate,当我第一次运行它时它运行良好,但是当我在捕获时运行它时,结果完全错误,请参阅下一张图片
知道如何解决这个问题
【问题讨论】:
-
如果您有要检测的图形的模板,请使用 SIFT 或 SURF 特征检测。
-
我已经尝试过使用 opencv 的示例代码,它不能只识别我的对象??
-
所以我刚刚在这张图片上实现了
canny,并使用了findLines。由于这是一个非常好的图像,您可以轻松获得线条。现在,根据线段的长度,您可以从图像中删除大线,您将只剩下您想要的对象。现在,您可以训练 haar 分类器或简单地使用模板来识别对象。如果对象足够简单,如果您的形状足够简单,您也可以使用霍夫变换。