python3 OpenCV 模板匹配多个图像

一、简介:

上节课我们讲解了python 利用OpenCV进行图像匹配。并画出位置。但是图像中有多个相同图像,如何全部匹配到呢。

二、导入需要的库

import cv2 #导入opencv库
import numpy as np

这节需要用到numpy。numpy 支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。

三、加载图像

# 图片和路径请勿使用中文
img_rgb  = cv2.imread('超级玛丽.jpg')
img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
template = cv2.imread('金币.jpg',cv2.IMREAD_GRAYSCALE)

#cv2.COLOR_BGR2RGB 将BGR格式转换成RGB格式
#cv2.COLOR_BGR2GRAY 将BGR格式转换成灰度图片

上节已经讲了加载图像。为什么又讲呢。因为这次我们需要将BGR转为灰度图像。小金币图像也同样转为灰度图像。第一张图为什么不直接读取时转为灰度图像呢。因为你后面不好标记。

灰度图像并不等于黑白图片

四:CV_TM_CCOEFF_NORMED 归一化相关系数匹配法

h, w = template.shape[:2]  # rows->h, cols->w
print('高:',h,"宽:",w)
# 相关系数匹配方法:cv2.TM_CCOEFF
res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED)

五:设定阈

你可能感兴趣的:(Python,python3,图像匹配,opecv,图像匹配,大图搜索小图,模板匹配)