import cv2 as cv2
import matplotlib.pyplot as plt
import numpy as np
def cv_show(name,img):cv2.imshow(name,img)cv2.waitKey(0)cv2.destroyAllWindows()if __name__ == "__main__":#图像匹配img = cv2.imread(r'E:iu.png',0) #读取整图,灰度图的形式template = cv2.imread(r'E:iu_face.JPG',0) #读取需要匹配的图,也是灰度图的形式h,w = template.shape #定义匹配图像的高和宽res= cv2.matchTemplate(img,template,cv2.TM_SQDIFF_NORMED) #进行图像匹配print(res.shape)min_val,max_val,min_loc,max_loc = cv2.minMaxLoc(res)print(res[20])#print(min_loc)bottom_right = (min_loc[0]+w,min_loc[1]+h)#定义右下的坐标angle(img,min_loc,bottom_right,255,2)plt.imshow(img,cmap='gray')plt.show()#进行展示
结果:
其中,我的输入的template是iu的脸。
ps:
在cv2.matchTemplate(img,template,cv2.TM_SQDIFF_NORMED)中,第三个方法可以以下的进行替代,注意,SQDIFF和CCORR的结构不相同
本文发布于:2024-01-30 04:53:08,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170656159219356.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |