利用opencv模块,进行两张图片相似度匹配
利用cv2模块中的方法,进行两张图像的比对。
·
import cv2 img=cv2.imread("09.png") #原始大图 templ=cv2.imread("10.png") #模版图(小图) height,width,c=templ.shape #获取图像的像素行、像素列、通道数 print(templ.size) #打印模板图像素点个数 results=cv2.matchTemplate(img,templ,cv2.TM_CCOEFF_NORMED) #按照标准相关系数匹配 a=0 #创建一个变量a,用来计数 for y in range(len(results)): for x in range(len(results[y])): if results[y][x] >0.99: cv2.rectangle(img,(x,y),(x+width,y+height),(0,0,255),2) #用红框将匹配点圈出 a+=1 #两个图有相似的地方则计数+1 if a==0: #等于零代表,无相似点 print("两张图没有相似点") #return False else: #否则代表有相似点 print("两张图有相似点") cv2.imwrite("0014.jpg",img) #保存图像imwrite(“路径/新文件名”,"要保存的图像名") cv2.imshow("img",img) #打开已经用红框标记过的图像 cv2.waitKey() #等待键盘输入 cv2.destroyAllWindows() #关闭界面所有图像窗口 #return True
执行结果如下:
更多推荐
所有评论(0)