怎么用cv2. convertScaleAbs实现对比度调整
时间: 2024-09-20 08:08:50 浏览: 47
`cv2.convertScaleAbs()` 是 OpenCV 中的一个函数,主要用于将图像数据从一个范围转换到另一个范围,同时保持绝对值。如果你想通过这个函数进行对比度调整,通常会涉及到以下几个步骤:
1. 加载原始图像(gray scale 或者 color image)。
```python
import cv2
image = cv2.imread('input.jpg', cv2.IMREAD_GRAYSCALE) # 如果是灰度图
# 或者
image = cv2.imread('input.jpg')
```
2. 创建一个新的矩阵,用于存储调整后的图像。`convertScaleAbs` 函数接受两个参数:输入图像和缩放因子以及偏置。对比度通常通过改变缩放因子来实现,而不需要偏置。
- 对比度增强:增大缩放因子可以使暗的部分更暗、亮的部分更亮,提高整体对比度。
- 对比度减弱:减小缩放因子会使变化平缓,降低对比度。
```python
scale_factor = 1.5 # 这里可以尝试不同的值调整对比度
output_image = cv2.convertScaleAbs(image, alpha=scale_factor, beta=0)
```
`alpha` 参数控制缩放比例,`beta` 参数是在转换之后添加到所有像素值的常数,这里设置为 0,表示不需要额外的偏移。
3. 最后显示或保存调整后的图像:
```python
cv2.imshow("Original", image)
cv2.imshow("Contrast Adjusted", output_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文