在OpenCV中,为了改变图像的对比度和亮度,我们可以使用 cv2.convertScaleAbs() 方法。我们使用的方法的语法如下
python
cv2.convertScaleAbs(image,alpha,beta)
其中
image 是原始的输入图像。 # image = cv2.imread('egg.jpg')
alpha 是对比度值。为了降低对比度,请使用0<alpha<1。对于更高的对比度,请使用alpha>1。
beta是亮度值。亮度值的良好范围为[-127,127]
示例
python
import cv2
image = cv2.imread('egg.jpg')
alpha = 1.5 #对比度控制
beta = 10 #亮度控制
adjusted = cv2.convertScaleAbs(image, alpha=alpha, beta=beta)
cv2.imshow('adjusted', adjusted)
cv2.waitKey()
cv2.destroyAllWindows()
也可以使用 cv2.addWeighted() 方法更改输入图像的对比度和亮度
python
import cv2
img = cv2.imread('egg.jpg')
contrast = 5. # 对比度控制(0到127)
brightness = 2. # 亮度控制(0-100)
out = cv2.addWeighted(img, contrast, img, 0, brightness)
cv2.imshow('adjusted', out)
cv2.waitKey(0)
cv2.destroyAllWindows()