OpenCV中的MatchTemplate与Python

时间:2011-09-29 12:10:58

标签: python opencv

我正在使用带有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

1 个答案:

答案 0 :(得分:2)

请参阅此答案:OpenCV. Drawing rectangle when matching

您遇到了完全相同的问题 - MatchTemplate会返回一种相似度图而不是单一匹配位置。