3

我浏览了几个模板匹配教程,我注意到大多数教程都试图匹配从原始图像裁剪的模板。但我想知道是否可以识别具有不同宽度和高度的相似物体?

在我的项目中,我生成了以下类型的图像。

在此处输入图像描述

我需要从中识别以下组件。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

如何使用 opencv 或 javacv 存档?是否可以为此使用模板匹配?因为这个对象可以有不同的大小,所以可以使用它吗?请有人可以给出简单的代码示例来识别这个对象吗?

4

2 回答 2

2

我不确定它在实际情况下是否对您有所帮助,但简单的阈值对您的输入图像起到了作用:

在此处输入图像描述

代码:

Mat src = imread("input.jpg"), tmp;
cvtColor(src, tmp, CV_BGR2GRAY);
threshold(tmp, tmp, 200, 255, THRESH_BINARY);
于 2012-08-23T08:33:53.490 回答
1

模板匹配/模式识别将为此工作。但是,据我所知,openCV 的模板匹配不使用缩放或旋转。它只是通过在图像上“滑动”模板并寻找最小的差异来找到最可能的位置。我个人会为此使用 HALCON,但这是一个非常昂贵的程序/包。

于 2012-08-23T08:47:08.573 回答