# -*- coding: utf-8 -*- #测试模板匹配灰度 __author__ = '上海色宁' import os import sys import cv2 from cv2 import waitKey import numpy as np import uuid def load_digits(): # 加载数字模板文件夹 path = './tm' # 这个地方就是获取当前运行目录 获取函数在主函数里面 #多加几个模板图片 digits.append(cv2.imread(path + "/t_00.jpg")) digits.append(cv2.imread(path + "/t_01.jpg")) digits.append(cv2.imread(path + "/t_02.jpg")) digits.append(cv2.imread(path + "/t_03.jpg")) digits.append(cv2.imread(path + "/t_04.jpg")) digits.append(cv2.imread(path + "/t_05.jpg")) digits.append(cv2.imread(path + "/t_06.jpg")) digits.append(cv2.imread(path + "/t_07.jpg")) digits.append(cv2.imread(path + "/t_08.jpg")) digits.append(cv2.imread(path + "/t_09.jpg")) def get_most_simmilar_digit(target_img): source = [] for digitROI in digits: res = cv2.matchTemplate(target_img, digitROI, cv2.TM_CCOEFF_NORMED) max_val = cv2.minMaxLoc(res)[1] source.append(max_val) print(source.index(max(source))) #判断匹配度,大于0.5的选取 if max(source) > 0.5 : return source.index(max(source)) else: return '-' digits = [] # 测试 if __name__ == '__main__': load_digits() path = "./images" filename = os.listdir(path) # 获取文件夹文件 for file in filename: img = cv2.imread(path + "/" + file) # 读取图片 cv2.imshow('a',img) waitKey(0) addtext =get_most_simmilar_digit(img) if not addtext=="-" : cv2.imwrite(path + "2/"+str(addtext)+"__"+file,img) if cv2.waitKey(1) & 0xFF == ord('q'): break