直方图均衡化自编函数
时间: 2024-04-25 11:18:34 浏览: 19
直方图均衡化是一种用于增强图像对比度的图像处理技术。它通过重新分布图像的像素值来扩展图像的动态范围,使得图像中的像素值更加均匀分布,从而提高图像的视觉效果。
下面是一个简单的直方图均衡化的自编函数示例:
```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
```
这个函数使用OpenCV库来实现直方图均衡化。首先,将输入图像转换为灰度图像。然后,计算灰度图像的直方图,并计算累积分布函数。最后,使用累积分布函数对灰度图像进行均衡化,并将结果转换回彩色图像。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)