如何在Matlab中计算图像中匹配对象的数量

How to count number of matching object in image in Matlab

我有一个任务,我应该在一组扑克牌图像中计算花色(方块、梅花、...)的数量。例如,我在 Matlab 中使用 imcrop 从我的钻石原始图像创建了一个模板子图像。我还以灰度转换了原始图像或目标图像。 我正在尝试在目标图像中找到子图像的匹配项并计算目标图像中相应的钻石。

有人有什么建议吗?

我尝试使用 normxcorr2 我得到了一个可以看到最高峰区域的绘图,但我不知道如何计算它。

任何算法建议。

谢谢。

查看 中的方法 A)(免责声明:我是作者)。删除 rect 行并将变量 template 替换为您的 (BW) 模板。跳过最后 3 个命令,而是只计算有多少个峰值:

idx = bwmorph(idx,'shrink',inf);
numberOfObjects = sum(idx)

您显然必须大幅调整一些值才能获得良好的结果 - 模式检测并非易事。