方法一:模板匹配
模板匹配是图像物体检测与识别中最直观的手段。
核心思路: 给定一张大图像,将待匹配模版遍历式地与大图像的所有区域进行匹配度量,取较高匹配度的区域为模板位置
opencv实现
opencv也提供了优化后的接口实现模板检测。
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('../../dataset/carplate/N57.jpeg',0)
img2 = img.copy()
template = cv2.imread('../../dataset/carplate/T.png',0)
w, h = template.shape[::-1]
methods = ['cv2.TM_CCOEFF', 'cv2.TM_CCOEFF_NORMED', 'cv2.TM_CCORR',
'cv2.TM_CCORR_NORMED', 'cv2.TM_SQDIFF', 'cv2.TM_SQDIFF_NORMED']
for meth in methods:
img = img2.copy()
method = eval(meth)
res = cv2.matchTemplate(img,template,method)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
if method in [cv2.TM_SQDIFF, cv2.TM_SQDIFF_NORMED]:
top_left = min_loc
else: