opencv 直方图均衡化
时间: 2023-06-28 13:08:33 浏览: 96
OpenCV直方图均衡化
OpenCV 中的直方图均衡化是一种常见的图像增强技术,它可以提高图像的对比度和亮度,使得图像更加清晰明亮。下面是使用 OpenCV 实现直方图均衡化的步骤:
1. 读入图像并转换为灰度图像
```python
import cv2
# 读入图像并转换为灰度图像
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
```
2. 计算图像的直方图
```python
# 计算灰度图像的直方图
hist, bins = cv2.calcHist([gray], [0], None, [256], [0, 256])
```
3. 对直方图进行均衡化
```python
# 对灰度图像进行直方图均衡化
equ = cv2.equalizeHist(gray)
```
4. 显示结果
```python
# 显示原始图像和均衡化后的图像
cv2.imshow('Original', gray)
cv2.imshow('Equalization', equ)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
完整代码如下:
```python
import cv2
# 读入图像并转换为灰度图像
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 计算灰度图像的直方图
hist, bins = cv2.calcHist([gray], [0], None, [256], [0, 256])
# 对灰度图像进行直方图均衡化
equ = cv2.equalizeHist(gray)
# 显示原始图像和均衡化后的图像
cv2.imshow('Original', gray)
cv2.imshow('Equalization', equ)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文