opencv调图像对比度
时间: 2023-11-04 12:25:37 浏览: 100
19 使用 OpenCV、scikit-image 和 Python 检测低对比度图像(Python)
如何调整?
可以使用 cv2.convertScaleAbs() 函数来调整图像的对比度,具体操作如下:
1. 读入图像并将其转为灰度图像。
2. 计算图像的平均灰度值。
3. 使用公式:new_pixel_value = (pixel_value - mean_gray_value) * contrast_factor + mean_gray_value 来计算每个像素点的新值。
4. 将新的像素值转为无符号8位整数类型,并将其存储在新的图像矩阵中。
其中,contrast_factor 是对比度调整参数。值越大,对比度越高,值越小,对比度越低。
示例代码如下:
import cv2
import numpy as np
# 读入图像并将其转为灰度图像
img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 计算图像的平均灰度值
mean_gray = np.mean(gray)
# 设置对比度调整参数
contrast_factor = 1.5
# 计算每个像素点的新值
new_gray = cv2.convertScaleAbs(gray, alpha=contrast_factor, beta=-contrast_factor*mean_gray+255)
# 显示原图和调整后的图像
cv2.imshow('Original', gray)
cv2.imshow('Adjusted', new_gray)
cv2.waitKey(0)
cv2.destroyAllWindows()
阅读全文