python对灰度图像直方图均衡化
时间: 2023-11-12 20:08:12 浏览: 141
python 对一幅灰度图像进行直方图均衡化
好的,针对您的问题,Python中可以使用OpenCV库来实现灰度图像的直方图均衡化。具体步骤如下:
1. 读取灰度图像
2. 计算图像的直方图
3. 计算累积分布函数
4. 根据累积分布函数计算新的像素值
5. 将新的像素值赋给图像中的每个像素
6. 显示处理后的图像
下面是代码示例:
```python
import cv2
# 读取灰度图像
img = cv2.imread('gray_image.jpg', cv2.IMREAD_GRAYSCALE)
# 计算直方图
hist, bins = np.histogram(img.flatten(), 256, [0, 256])
# 计算累积分布函数
cdf = hist.cumsum()
cdf_normalized = cdf * hist.max() / cdf.max()
# 根据累积分布函数计算新的像素值
img_equalized = np.interp(img.flatten(), bins[:-1], cdf_normalized)
# 将新的像素值赋给图像中的每个像素
img_equalized = img_equalized.reshape(img.shape).astype(np.uint8)
# 显示处理后的图像
cv2.imshow('Equalized Image', img_equalized)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文