opencv更改亮度
时间: 2024-06-22 07:01:55 浏览: 55
opencv 实现 Photoshop 亮度 对比度 调节功能
OpenCV(Open Source Computer Vision Library)是一个广泛使用的计算机视觉库,它提供了丰富的图像处理和计算机视觉功能。如果你想在OpenCV中更改图像的亮度,你可以使用`cv2.addWeighted()`函数或`numpy`的简单操作。
1. 使用`cv2.addWeighted()`方法:
这个函数可以对两个图像(源图像和权重图像)进行加权求和,从而调整亮度。例如,你可以创建一个全为1的新图像(代表亮度增加)和另一个全为-1的新图像(代表亮度减小),然后应用到原图像上:
```python
import cv2
import numpy as np
# 假设img是你的原始图像
brightness_change = 50 # 调整的亮度值
alpha = 1.0 # 加权系数
beta = 0 # 偏移量
# 使用addWeighted()函数
new_img = cv2.addWeighted(img, alpha, img, 0, beta + brightness_change)
# 或者使用numpy
gray_scaled_img = img * (1 + brightness_change/255) if brightness_change > 0 else img * (1 - brightness_change/255)
```
2. 使用numpy:
你可以直接使用`numpy`的元素级操作,将每个像素的亮度值加上或减去指定的亮度值:
```python
img += brightness_change
```
但要注意,这种方法可能超出图像的范围(0-255)。如果需要,记得先将图片转换为灰度或确保在调整后进行正确的类型转换。
阅读全文