普通直方图均衡化主要是指将原图像的灰度级均匀地映射到全部灰度级范围内。OpenCV的cv2.equalizeHist(src)函数用于实现普通直方图均衡化,其基本格式如下。
dst=cv2.equalizeHist(src)
参数说明如下。
dst为直方图均衡化后的图像。
src为原图像,必须是8位的单通道图像。
示例代码如下。
test6-5.py:直方图均衡化
import cv2
import matplotlib.pyplot as plt
img=cv2.imread('bee.jpg',0) #打开灰度图像
cv2.imshow('original',img) #显示原图像
plt.figure('原图的直方图')
plt.hist(img.ravel(),256) #绘制原直方图
img2=cv2.equalizeHist(img)
cv2.imshow('equalizeHist',img2) #显示均衡化后的图像
plt.figure('均衡化后的直方图')
plt.hist(img2.ravel(),256) #绘制均衡化后图像的直方图
plt.show() #显示直方图