OpenCv模板匹配 - 意外的掩蔽结果

时间:2018-01-23 18:50:19

标签: java opencv template-matching

我正在尝试使用OpenCv v3.3.0匹配场景中透明度的模板 我正在使用the official documentation中的Java示例代码。

我的测试用例如下:

场景:

Scene

具有透明度的模板:

Template

模板蒙版(将透明层蒙有黑色):

Mask

匹配结果(红色边框标记匹配): Matching result

预期结果(红色边框标记预期匹配): Expected result

对于我正在使用CV_TM_CCORR_NORMED的匹配。 匹配本身与掩码一起工作正常(没有掩码我得到错误的位置)。但找到的区域与模板大小相同,而且是掩码。我预计它将是面具彩色内容的大小。

如何获得预期结果(见图)?

1 个答案:

答案 0 :(得分:0)

透明区域意味着只要存在这些像素,它就可以匹配任何像素。因此,要使OpenCV仅查找非透明像素,您需要先在“查询图像”上裁剪透明区域。