📅  最后修改于: 2023-12-03 15:17:30.592000             🧑  作者: Mango
Mahotas是一个Python库,用于图像处理和计算机视觉任务。其中包括了将模板与图像精确匹配的功能。
使用Mahotas库的matchTemplate()函数,可以在给定图像中精确匹配任何给定的模板图像。
!pip install mahotas
import mahotas as mh
from matplotlib import pyplot as plt
# 加载图像
image = mh.imread('image.jpg', as_grey=True)
print(f"图像形状为: {image.shape}")
# 加载模板
template = mh.imread('template.jpg', as_grey=True)
print(f"模板形状为: {template.shape}")
result = mh.match_template(image, template)
# 获取最好的匹配位置
best_match = mh.locate(image, result.max())
# 将匹配结果用矩形框框出
canvas = image.copy()
for coords in best_match:
x, y = coords
canvas[x:x + template.shape[0], y:y + template.shape[1]] = 0
canvas[x:x + template.shape[0], y] = 1
canvas[x:x + template.shape[0], y + template.shape[1]] = 1
canvas[x, y:y + template.shape[1]] = 1
canvas[x + template.shape[0], y:y + template.shape[1]] = 1
# 显示最终结果
fig, ax = plt.subplots(1, 2)
ax[0].imshow(image, cmap=plt.cm.gray)
ax[0].set_title('原图')
ax[1].imshow(canvas, cmap=plt.cm.gray)
ax[1].set_title('匹配结果')
plt.show()