色彩图片用cv2.equalizeHist进行均衡化处理,处理后的图片也是彩色的代码示例
时间: 2024-09-27 21:15:20 浏览: 43
38.OpenCV图像增强和图像去雾万字详解(直方图均衡化、局部直方图均衡化、自动色彩均衡化).pdf
在Python的OpenCV库(cv2)中,`equalizeHist()`函数主要用于图像直方图均衡化,它通常用于增强对比度,使得图像的亮度分布更均匀,但并不会改变图像的颜色特性。如果你有一个彩色图片(BGR格式),你可以对每个通道(蓝色、绿色和红色)分别应用这个函数。以下是一个简单的示例:
```python
import cv2
import numpy as np
# 加载彩色图片
img = cv2.imread('example.jpg', cv2.IMREAD_COLOR)
# 分离BGR通道
b, g, r = cv2.split(img)
# 对每个通道进行直方图均衡化
equ_b = cv2.equalizeHist(b)
equ_g = cv2.equalizeHist(g)
equ_r = cv2.equalizeHist(r)
# 合并均衡化的BGR通道
equ_img = cv2.merge((equ_b, equ_g, equ_r))
# 显示原图和处理后的图像
cv2.imshow("Original", img)
cv2.imshow("Equalized", equ_img)
# 等待用户按键,然后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,我们首先加载图片,然后分离出BGR三个通道,对每个通道独立地做直方图均衡化,再合并回原始的BGR格式。
阅读全文