直方图统计量增强python代码
时间: 2023-10-13 09:19:43 浏览: 141
基于python对遥感影像直方图均衡化.zip
5星 · 资源好评率100%
以下是一个简单的直方图统计量增强的Python代码示例:
```python
import cv2
import numpy as np
import matplotlib.pyplot as plt
# 读取图像
img = cv2.imread('lena.jpg', 0)
# 计算直方图
hist, bins = np.histogram(img.flatten(), 256, [0, 256])
# 计算累积分布函数
cdf = hist.cumsum()
cdf_normalized = cdf * hist.max() / cdf.max()
# 计算等化映射
equ = np.interp(img.flatten(), bins[:-1], cdf_normalized)
# 将图像还原到2D
equ = equ.reshape(img.shape)
# 绘制原图和直方图均衡化后的图像
plt.subplot(121)
plt.imshow(img, cmap='gray')
plt.title('Original Image')
plt.subplot(122)
plt.imshow(equ, cmap='gray')
plt.title('Equalized Image')
plt.show()
```
该代码将读取名为“lena.jpg”的灰度图像并对其进行直方图均衡化。它首先计算图像的直方图,然后计算累积分布函数以及其归一化版本。接下来,它使用插值函数计算等化映射。最后,它将等化图像还原为2D格式并显示原始图像和均衡化后的图像。
阅读全文