我正在使用来自the official documentation的OpenCv示例代码在JavaV3.3.0的场景中尝试匹配具有透明度的模板。
我的测试用例如下所示:
场景:

带透明度的模板:

模板蒙版(将透明层遮罩为黑色):

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

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

对于匹配,我使用CV_TM_CCORR_NORMED。匹配本身与遮罩一起工作得很好(如果没有遮罩,我会得到错误的位置)。但找到的区域与模板及其掩码的大小相同。我预计它是蒙版彩色内容的大小。
怎样才能得到预期的结果(见下图)?
发布于 2018-05-05 16:52:32
透明区域意味着它可以匹配任何像素,只要这些像素存在。因此,要使OpenCV仅找到非透明像素,您需要首先在“查询图像”上裁剪透明区域。
https://stackoverflow.com/questions/48408813
复制相似问题