彩色图像直方图均衡化代码
时间: 2023-06-17 12:06:52 浏览: 124
以下是彩色图像直方图均衡化的 Python 代码,使用 OpenCV 库:
```python
import cv2
# 读取彩色图像
img = cv2.imread('image.jpg')
# 将彩色图像转换为 YCrCb 色彩空间
img_yuv = cv2.cvtColor(img, cv2.COLOR_BGR2YCrCb)
y, cr, cb = cv2.split(img_yuv)
# 对灰度图像进行直方图均衡化
y_eq = cv2.equalizeHist(y)
# 将处理后的 Y 通道与 Cr 和 Cb 合并回彩色图像
img_yuv_eq = cv2.merge((y_eq, cr, cb))
img_eq = cv2.cvtColor(img_yuv_eq, cv2.COLOR_YCrCb2BGR)
# 显示结果
cv2.imshow('Original Image', img)
cv2.imshow('Equalized Image', img_eq)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
说明:
1. `cv2.imread()` 函数用于读取彩色图像,其中参数为图像路径。
2. `cv2.cvtColor()` 函数用于将彩色图像转换为 YCrCb 色彩空间。
3. `cv2.split()` 函数用于将彩色图像分离为 Y、Cr 和 Cb 三个通道。
4. `cv2.equalizeHist()` 函数用于对灰度图像进行直方图均衡化。
5. `cv2.merge()` 函数用于将处理后的 Y 通道与 Cr 和 Cb 合并回彩色图像。
6. `cv2.imshow()` 函数用于显示图像。
7. `cv2.waitKey()` 函数用于等待按键输入。
8. `cv2.destroyAllWindows()` 函数用于销毁所有窗口。
阅读全文