调研直方图均衡化代码
时间: 2024-04-25 21:18:34 浏览: 98
调研直方图均衡化是一种用于图像增强的方法,可以提高图像的对比度和细节。下面是一个简单的调研直方图均衡化的代码示例:
```python
import cv2
import numpy as np
def histogram_equalization(image):
# 将图像转换为灰度图
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 计算直方图
hist, bins = np.histogram(gray.flatten(), 256, [0,256])
# 计算累积分布函数
cdf = hist.cumsum()
cdf_normalized = cdf * hist.max() / cdf.max()
# 使用累积分布函数进行直方图均衡化
equalized = np.interp(gray.flatten(), bins[:-1], cdf_normalized).reshape(gray.shape)
# 将均衡化后的图像转换回彩色图像
equalized_image = cv2.cvtColor(equalized.astype(np.uint8), cv2.COLOR_GRAY2BGR)
return equalized_image
# 读取图像
image = cv2.imread('image.jpg')
# 调用直方图均衡化函数
equalized_image = histogram_equalization(image)
# 显示原始图像和均衡化后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Equalized Image', equalized_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码使用OpenCV库实现了调研直方图均衡化的功能。首先,将彩色图像转换为灰度图像,然后计算灰度图像的直方图和累积分布函数。接下来,使用累积分布函数对灰度图像进行均衡化处理。最后,将均衡化后的灰度图像转换回彩色图像,并显示原始图像和均衡化后的图像。
阅读全文