使用cv2.convertScaleAbs函数编写自适应调整图像亮度和对比度的代码
时间: 2023-02-23 09:56:43 浏览: 85
下面是使用 `cv2.convertScaleAbs` 函数实现自适应调整图像亮度和对比度的代码示例:
```
import cv2
import numpy as np
def adjust_gamma(image, gamma=1.0):
# build a lookup table mapping the pixel values [0, 255] to
# their adjusted gamma values
invGamma = 1.0 / gamma
table = np.array([((i / 255.0) ** invGamma) * 255
for i in np.arange(0, 256)]).astype("uint8")
# apply gamma correction using the lookup table
return cv2.LUT(image, table)
def adjust_brightness_and_contrast(image, alpha=1.0, beta=0.0):
return cv2.convertScaleAbs(image, alpha=alpha, beta=beta)
# 读入图像
img = cv2.imread("image.jpg")
# 调整图像亮度和对比度
img = adjust_gamma(img, gamma=1.5)
img = adjust_brightness_and_contrast(img, alpha=1.5, beta=50)
# 显示调整后的图像
cv2.imshow("Adjusted Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个代码首先使用 `adjust_gamma` 函数来调整图像的亮度,然后使用 `adjust_brightness_and_contrast` 函数来调整图像的对比度。最后,使用 `cv2.imshow` 函数显示调整后的图像。
阅读全文