我正在使用带有python绑定的opencv。我正在尝试使用模板匹配,但它并没有完全按照我的需要执行。如果没有匹配我提供的模板的图像,我不希望它返回匹配。在我提供的图像中,似乎总是返回匹配实际模板是否存在。
我查看了使用Python的opencv的文档,似乎没有找到如何为匹配模板设置最小阈值的任何提及。在将模板与图像进行比较时,我需要它相对严格。
image = LoadImage("c:/image.png")
template = LoadImage("c:/image-crop2.png")
W,H = GetSize(image)
w,h = GetSize(template)
width = W - w + 1
height = H - h + 1
result = CreateImage((width, height), 32, 1)
MatchTemplate(image, template, result, CV_TM_CCORR)
(min_x, max_y, minloc, maxloc) = MinMaxLoc(result)
(x, y) = minloc
print result
答案 0 :(得分:2)
请参阅此答案:OpenCV. Drawing rectangle when matching
您遇到了完全相同的问题 - MatchTemplate
会返回一种相似度图而不是单一匹配位置。