gpt4 book ai didi

python - 我如何使用 OpenCV MatchTemplate?

转载 作者:太空狗 更新时间:2023-10-29 18:21:26 24 4
gpt4 key购买 nike

我正试图在另一张图片中找到一张图片。

im = cv.LoadImage('1.png', cv.CV_LOAD_IMAGE_UNCHANGED)
tmp = cv.LoadImage('e1.png', cv.CV_LOAD_IMAGE_UNCHANGED)
w,h = cv.GetSize(im)
W,H = cv.GetSize(tmp)
width = w-W+1
height = h-H+1
result = cv.CreateImage((width, height), 32, 1)
cv.MatchTemplate(im, tmp, result, cv.CV_TM_SQDIFF)
print result

当我运行它时,一切都执行得很好,没有抛出任何错误。但我不确定从这里做什么。文档说 result 存储“比较结果的 map ”。我试着打印它,但它给了我宽度、高度和步长。

我如何使用此信息来查找一幅图像是否在另一幅图像中/它位于何处?

最佳答案

这可能对你有用! :)

def FindSubImage(im1, im2):
needle = cv2.imread(im1)
haystack = cv2.imread(im2)

result = cv2.matchTemplate(needle,haystack,cv2.TM_CCOEFF_NORMED)
y,x = np.unravel_index(result.argmax(), result.shape)
return x,y

CCOEFF_NORMED 只是众多比较方法中的一种。请参阅:http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html获取完整列表。

不确定这是否是最好的方法,但速度很快,而且对我来说效果很好! :)

关于python - 我如何使用 OpenCV MatchTemplate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9709631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com