通过灰度直方图均衡化把灰度图变成直方图并输出直方图
时间: 2024-05-09 14:14:20 浏览: 77
python 对一幅灰度图像进行直方图均衡化
灰度直方图均衡化(Histogram Equalization)是一种用于增强图像对比度的方法。在这种方法中,将直方图中灰度级别的频率进行重新分配,以便在整个灰度范围内获得更平均的分布。这种方法常常被用于数字图像处理中,以提高图像的视觉效果。
下面是使用 Python OpenCV 库实现灰度直方图均衡化的代码:
```python
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读入灰度图
img = cv2.imread('lena.jpg', cv2.IMREAD_GRAYSCALE)
# 直方图均衡化
equ = cv2.equalizeHist(img)
# 绘制直方图
plt.hist(equ.ravel(), 256, [0,256])
plt.show()
# 显示图像
cv2.imshow('Original Image', img)
cv2.imshow('Equalized Image', equ)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.imread` 用于读入灰度图像,`cv2.equalizeHist` 用于进行直方图均衡化,`plt.hist` 用于绘制直方图。最后,使用 `cv2.imshow` 显示图像,`cv2.waitKey` 等待键盘输入,`cv2.destroyAllWindows` 销毁所有窗口。
执行该代码后,可以看到输出的直方图,并且在窗口中显示了原始图像和经过直方图均衡化后的图像。
阅读全文