1.创作需求
我们通常需要从一幅图中找到自己想要的信息,例如从一堆表情中找到,自己需要的表情。
2.创作思路
1.使用模板图片作为卷积核与原图进行卷积运算,得出匹配度超过某一阈值的范围。
2.对该部分进行框选
3.工具
主要使用opencv库实现,通过
cv2.matchTemplate()函数进行实现。
4.代码实现
import cv2 import matplotlib.pyplot as plt # 读取图像 # 路径不可以有汉字 original_image = cv2.imread('picture.png') # 转化为灰度图方便计算 gray_image = cv2.cvtColor(original_image, cv2.COLOR_BGR2GRAY) # 显示原图 plt.figure(figsize=(20, 20)) plt.imshow(cv2.cvtColor(original_image, cv2.COLOR_BGR2RGB)) # 转换颜色空间以匹配matplotlib plt.title('Original Image') plt.axis('off') plt.show() # 显示灰度图 plt.figure(figsize=(20, 20)) plt.imshow(gray_image, cmap='gray') plt.title('Grayscale Image') plt.axis('off') plt.show() # 加载模板 # 想要从原图中找到的部分 # 这里截取原图中一个表情 template = gray_image[90:180, 100:180] # 模板匹配 # 将选取表情与原图匹配 result = cv2.matchTemplate(gray_image, template, cv