import cv2
import numpy
def equalization_rgb(imgtu):
imgx=cv2.cvtColor(imgtu,cv2.COLOR_RGB2GRAY)
chanlx=cv2.createCLAHE(clipLimit=30.0,tileGridSize=(8,8))
imgtu=chanlx.apply(imgx)
cv2.imshow("equalization",imgtu)
def create_compara(imgtu):
h,w,t=imgtu.shape
rgbx=numpy.zeros([16*16*16,1],numpy.float32)
bsize=256/16
for row in range(h):
for col in range(w):
b=imgtu[row,col,0]
g=imgtu[row,col,1]
r=imgtu[row,col,2]
index=numpy.int(b/bsize)*16*16+numpy.int(g/bsize)*16+numpy.int(r/bsize)
rgbx[numpy.int(index),0]=rgbx[numpy.int(index),0]+1
return rgbx
def compare_ing():
img1=cv2.imread("imgx/xxG.png")
img2=cv2.imread("imgx/xxR.png")
hist1=create_compara(img1)
hist2=create_compara(img2)
cv2.imshow("img1111",img1)
cv2.imshow("img2222",img2)
va1=cv2.compareHist(hist1,hist2,cv2.HISTCMP_BHATTACHARYYA)
va2=cv2.compareHist(hist1,hist2,cv2.HISTCMP_CORREL)
va3=cv2.compareHist(hist1,hist2,cv2.HISTCMP_CHISQR)
print("巴氏距离,越小越相似(0,1):",va1)
print("相关性,越接近于1,越相似:",va2)
print("卡方,越小越相似:",va3)
imgviewx=cv2.imread("imgx/zcy.jpg")
cv2.namedWindow("东小东标题")
cv2.imshow("东小东标题",imgviewx)
compare_ing()
cv2.waitKey(0)
cv2.destroyAllWindows()