# -*- coding: utf-8 -*-
'''
用途:利用python实现多种方法来实现图像识别
author:SYW
'''import cv2
import numpyasnpfrom matplotlib import pyplot asplt
# 最简单的以灰度直方图作为相似比较的实现
def classify_gray_hist(image1,image2,size= (256,256)):
# 先计算直方图
# 几个参数必须用方括号括起来
# 这里直接用灰度图计算直方图,所以是使用第一个通道,
# 也可以进行通道分离后,得到多个通道的直方图
# bins 取为16
image1=cv2.resize(image1,size)
image2=cv2.resize(image2,size)
hist1= cv2.calcHist([image1],[0],None,[256],[0.0,255.0])
hist2= cv2.calcHist([image2],[0],None,[256],[0.0,255.0])
# 可以比较下直方图
plt.plot(range(256),hist1,'r')
plt.plot(range(256),hist2,'b')
plt.show()
# 计算直方图的重合度
degree= 0
for i inrange(len(hist1)):if hist1[i] !=hist2[i]:
degree= degree +