Python实现图像对比度增强
时间: 2024-06-14 07:01:45 浏览: 108
python增加图像对比度的方法
在Python中,我们可以使用OpenCV(Open Source Computer Vision Library)库来实现图像的对比度增强。OpenCV提供了丰富的图像处理功能,包括调整对比度在内的基本操作。这里简单介绍一下如何使用OpenCV的`cv2.convertScaleAbs()`函数来提升图像的对比度:
```python
import cv2
import numpy as np
def enhance_contrast(image_path, output_path):
# 读取图像
image = cv2.imread(image_path, cv2.IMREAD_GRAYSCALE) # 如果是彩色图片,先转为灰度图
if image is None:
print("无法读取图片")
return
# 定义对比度增强因子,通常范围在0.5到1.5之间
contrast_factor = 1.5
# 转换并增强对比度
enhanced_image = cv2.convertScaleAbs(image, alpha=contrast_factor, beta=0)
# 写入增强后的图片
cv2.imwrite(output_path, enhanced_image)
# 使用函数
enhance_contrast('input.jpg', 'output_enhanced.jpg')
```
在这个例子中,`alpha`参数控制了转换的程度,`beta`用于在增强后添加一个偏移值。如果`alpha`大于1,对比度会增加;小于1则对比度降低。注意,这个操作对原始图像进行的是线性变换,可能会影响颜色的准确性。
阅读全文