我正在用 C 语言创建一个零件扫描仪,它将扫描零件的所有可能性作为目录中的图像提取出来。我的代码当前从该目录中获取所有图像并将它们转储到向量中。然后我为所有图像生成轮廓组。然后程序进入一个while循环,它不断地从网络摄像头中抓取图像,并为这些图像生成轮廓。我已经为零件设置了一个夹具,因此方向和尺寸不是问题,但是我不想校准机器,因此模板图像和拍摄的零件图像之间可能存在移动。
比较轮廓的最佳方法是什么?我尝试了几种方法,包括没有轮廓的matchTemplate,但是如果你看看下面的两个部分,你会发现这两个非常接近,所以matchShapes和matchTemplate无法像我使用的那样区分它们他们。我也不确定如何使用 cvMatchShapes。它仅适用于将图像直接加载到匹配形状中,但结果尚无定论。我认为轮廓是要走的路,我只是不确定如何实施比较阶段。任何帮助都会很棒。
您可以在此处查看模板:http ://www.cryogendesign.com/partDetection.html “