直方图均衡化

直方图均衡化是一种简单有效的图像增强技术,将图像的直方图分布变成近似均匀分布,从而增强图像的对比度,使色彩细节更丰富,多用于车牌识别、人脸识别场景(在论文里面数据预处理用的很多)


import cv2
import matplotlib.pyplot as plt

img = cv2.imread(r"image\lenacolor.png", cv2.IMREAD_GRAYSCALE)

# 设置rc参数显示中文标题,设置字体为SimHei显示中文
plt.rcParams['font.sans-serif'] = 'SimHei'
plt.rcParams['axes.unicode_minus'] = False

# 绘制灰度直方图
# ravel()函数,将二维的图像,转化为一维的数组
plt.hist(img.ravel(), 256)
plt.xlabel("灰度级")
plt.ylabel("像素个数")
plt.title("灰度直方图")

# 绘制均衡直方图
# plt.figure()函数,创建自定义图像
plt.figure()
equ = cv2.equalizeHist(img)
plt.hist(equ.ravel(), 256)
plt.xlabel("灰度级")
plt.ylabel("像素个数")
plt.title("均衡直方图")
# 3.显示灰度直方图
plt.show()

cv2.imshow("original", img)
cv2.imshow("result", equ)

cv2.waitKey(0)
cv2.destroyAllWindows()

转载来源 https://www.cnblogs.com/REN-Murphy/p/15323155.html

posted @ 2021-10-13 18:54  爱时尚疯了的朱  阅读(396)  评论(0编辑  收藏  举报