我想使用 OpenCV 和 Python 制作一个程序来检查较小的图像是否在较大的图像中。我知道较大图像中的内容,但较小图像每次都可能发生变化,因此避免误报对我来说很重要。我已经使用cv2.matchTemplate该cv2.TM_CCOEFF_NORMED模式来检查置信度,如果较小的图像只是完整图像的裁剪版本,则效果很好。但是,例如,如果较小的图像是 1x1 白色像素,则会出现问题。我的大图像中有很多空白,我不希望它匹配。这是我的代码:#!/usr/bin/env pythonimport cv2def main(): source = cv2.imread('source.png', 0) template = cv2.imread('template.png', 0) res = cv2.matchTemplate(source, template, cv2.TM_CCOEFF_NORMED) min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res) if max_val < 0.9: print 'Confidence score is less than 0.9, no match found.' return print 'Match found!'if __name__ == '__main__': main()我该如何改进?我想有一种方法可以检查匹配项是否至少为特定大小(例如 50x50),以便在使用小图像作为模板时系统不会中断,但我不确定。
添加回答
举报
0/150
提交
取消