python opencv图片亮度调整
时间: 2024-10-16 08:02:01 浏览: 29
python_opencv_图像亮度提升_
5星 · 资源好评率100%
在Python中,使用OpenCV库进行图片亮度调整通常涉及到对图像像素值进行操作。OpenCV提供了一个叫做`cv2.convertScaleAbs()`的方法,可以方便地改变图像的整体亮度。这个函数接受三个参数:
1. 输入图像(`src`),
2. 放缩因子(`scale_factor`),如果为正数表示亮度增加,负数则表示降低,
3. 偏移量(`alpha`),通常是0,用于在转换之后添加额外的亮度。
例如,如果你想将一幅图像的亮度提高50%,你可以这样做:
```python
import cv2
import numpy as np
def adjust_brightness(image_path, brightness=50):
# 读取图像
image = cv2.imread(image_path)
# 转换成灰度,因为亮度增强是对整个图像的,不需要区分颜色通道
if len(image.shape) == 3 and image.shape[2] == 3:
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
# 使用convertScaleAbs函数调整亮度
adjusted_image = cv2.convertScaleAbs(image, alpha=brightness, beta=0)
return adjusted_image
# 调用函数并保存调整后的图像
brightened_image = adjust_brightness('input.jpg', brightness=50)
cv2.imwrite('output.jpg', brightened_image)
```
在这个例子中,`brightness`参数就是调整的级别,正值增大亮度,负值减小亮度。
阅读全文