OpenCV图像对比度增强方法
时间: 2023-06-24 15:05:46 浏览: 103
OpenCV提供了许多对比度增强方法,下面列出了其中几种方法:
1. 直方图均衡化(Histogram equalization):将图像的直方图均匀分布到整个灰度级范围内,从而增强对比度。
```python
img = cv2.imread('image.jpg', 0)
equ = cv2.equalizeHist(img)
```
2. 自适应直方图均衡化(Adaptive histogram equalization):将图像分成若干个小块,然后在每个小块内进行直方图均衡化,从而避免了直方图均衡化时可能会产生的全局对比度变化。
```python
img = cv2.imread('image.jpg', 0)
clahe = cv2.createCLAHE(clipLimit=2.0, tileGridSize=(8,8))
res = clahe.apply(img)
```
3. 对数变换(Logarithmic transform):通过对图像的灰度值取对数来扩大灰度级范围,从而增强对比度。
```python
img = cv2.imread('image.jpg', 0)
c = 255 / np.log(1 + np.max(img))
log_transformed = c * np.log(1 + img)
```
4. Gamma校正(Gamma correction):通过对图像的灰度值进行幂次变换,从而增强对比度。
```python
img = cv2.imread('image.jpg', 0)
gamma = 0.5
gamma_corrected = np.power(img, gamma)
```
这些方法可以单独使用,也可以结合使用,具体选择哪种方法取决于图像的特点和应用场景。
阅读全文