当前位置:   article > 正文

opencv初学(图像11)_for pt in zip

for pt in zip

图像匹配

图像匹配原理

将face与lena对应的位置相匹配。

对比:计算"face"与"lena"中的差别程度,并存放于一个矩阵中,矩阵大小为(w1-w2+1 , h1-h2+1)。(计算方法见API)

API
res=cv2.matchTemplate(img,template,cv2.TM_CCOEFF_NORMED)

返回值res:存放差别程度的矩阵。

参数1:img:"lena"图像

参数2:template:"face"图像

参数3:计算方法(如下图)

尽量采用归一化的方法,更准确

图片摘自模板匹配方法

算法详情参考长命百岁的博客

min_val,max_val,min_loc,max_loc=cv2.minMaxLoc(res)

参数:min_val,max_val,min_loc, max_loc 分别表示最小值,最大值,以及最小值和最大值对应的图像中的位置。res即cv2.matchlemplate的返回值 。

代码
  1. """
  2. 图像匹配
  3. """
  4. import cv2
  5. import matplotlib.pyplot as plt
  6. import numpy as np
  7. def cv_show(name,image):
  8. cv2.imshow(name,image)
  9. cv2.waitKey()
  10. cv2.destroyAllWindows()
  11. img=cv2.imread('D:/BaiduNetdiskDownload/opencv/lena.png',0)
  12. template=cv2.imread('D:/BaiduNetdiskDownload/opencv/lena_face.png',0)
  13. #匹配
  14. res=cv2.matchTemplate(img,template,cv2.TM_CCOEFF_NORMED)
  15. min_val,max_val,min_loc,max_loc=cv2.minMaxLoc(res)
  16. cv_show('1',res)
  17. # print(max_val,min_val)
  18. #绘制矩形
  19. img2=img.copy()
  20. top_left=max_loc
  21. h,w=template.shape[0:2]
  22. bottom_right=(top_left[0]+w,top_left[1]+h)
  23. cv2.rectangle(img2,top_left,bottom_right,(0,0,255),2)
  24. cv_show('2',img2)

多个图像匹配

多个图像与单个差不多,区别在于:单个图像取得是最值,而多个图像超过某个阈值即可判定为匹配。

代码
  1. #匹配多个对象
  2. img_rgb=cv2.imread('D:/BaiduNetdiskDownload/opencv/mario.png')
  3. img_gray=cv2.cvtColor(img_rgb,cv2.COLOR_RGB2GRAY)
  4. trick=cv2.imread('D:/BaiduNetdiskDownload/opencv/mario_trick.png',0)
  5. h,w=trick.shape[:2]
  6. res2=cv2.matchTemplate(img_gray,trick,cv2.TM_CCOEFF_NORMED)
  7. cv_show('9',res2)
  8. threshold=0.7#阈值
  9. img_copy=img_rgb.copy()
  10. #取匹配度大于0.9的
  11. loc=np.where(res2>=threshold)
  12. for pt in zip(*loc[::-1]):#*表示可选对象
  13. bottom_right=(pt[0]+w,pt[1]+h)
  14. cv2.rectangle(img_copy,pt,bottom_right,(0,0,255),2)
  15. cv_show('111',img_copy)

这个for循环for pt in zip(*loc[::-1]):没看懂,请各位大佬来解答[哭]
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/79116
推荐阅读
相关标签
  

闽ICP备14008679号