1.源码如下:
import cv2 #引入open cv的库
import numpy as np #映入numpy的库
from matplotlib import pyplot as plt #为下面画出直方图引入库
im = cv2.imread("../tuxiangshili/ban.jpeg",0) #0 read huise image #读取要处理的图片
cv2.imshow("im",im) #将图片展示处理
im_equ = cv2.equalizeHist(im) #对im图片对象作均衡化处理返回一个图片对象im_equ
cv2.imshow("im_equ",im_equ) #将返回的图像展示出来
# draw tu
plt.subplot(2,1,1) #所画直方图的位置为2行一列的第一行
plt.hist(im.ravel(), #返回一个扁平的数组
256,[0,256],label="orig")
plt.legend()
plt.subplot(2,1,2) #所画直方图的位置为2行一列的第一行
plt.hist(im_equ.ravel(),256,[0,256],label="equlized")
plt.show() #展示直方图
cv2.waitKey()
cv2.destroyAllWindows()
2.处理后的结果如下:
左边为处理前的图像,右边为均衡化后的图像,很明显右边的图像比左边亮一些,下方为直方图,上面是左边图像对应的直方图,下方是右边图像的直方图,显然处理后的图像的直方图向255靠拢。