如何使用Python中的OpenCV更改图像的对比度和亮度?

如何使用Python中的OpenCV更改图像的对比度和亮度?

在OpenCV中,为了改变图像的对比度和亮度,我们可以使用 cv2.convertScaleAbs() 方法。我们使用的方法的语法如下−

cv2.convertScaleAbs(image,alpha,beta)

其中

  • image 是原始的输入图像。

  • alpha 是对比度值。为了降低对比度,请使用0<alpha<1。对于更高的对比度,请使用alpha>1。

  • beta是亮度值。亮度值的良好范围为[-127,127]

我们还可以应用 cv2.addWeighted() 方法来改变图像的对比度和亮度。我们在示例2中讨论了它。

步骤

要更改图像的对比度和亮度,可以按照以下步骤操作−

  • 导入所需的库 OpenCV 。确保您已经安装了它。

  • 使用 cv2.imread() 方法读取输入图像。指定图像的完整路径。

  • 定义 alpha (它控制对比度)和 beta (它控制亮度),并调用 convertScaleAbs() 函数来更改图像的对比度和亮度。此函数返回具有调整对比度和亮度的图像。或者,我们也可以使用 cv2.addWeighted() 方法来改变对比度和亮度。

  • 显示调整后对比度和亮度的图像。

让我们看一下如何更改图像的对比度和亮度的示例。

输入图像

我们将使用以下图像作为以下示例中的输入文件。

如何使用Python中的OpenCV更改图像的对比度和亮度?

示例

在此Python程序中,我们使用 cv2.convertScaleAbs() 方法更改输入图像的对比度和亮度。

#导入所需的库
import cv2

#读取输入图像
image = cv2.imread('food1.jpg')

#定义alpha和beta
alpha = 1.5 #对比度控制
beta  = 10  #亮度控制

#调用convertScaleAbs函数
adjusted = cv2.convertScaleAbs(image, alpha=alpha, beta=beta)

#显示输出图像
cv2.imshow('adjusted', adjusted)
cv2.waitKey()
cv2.destroyAllWindows()

输出

执行上述代码时,它将产生以下 输出 窗口-

如何使用Python中的OpenCV更改图像的对比度和亮度?

示例

在此Python程序中,我们使用 cv2.addWeighted() 方法更改输入图像的对比度和亮度。

# 导入所需库
import cv2

# 读取输入图像
img = cv2.imread('food1.jpg')

# 定义对比度和亮度值
contrast = 5. # 对比度控制(0到127)
brightness = 2. # 亮度控制(0-100)

# 调用addWeighted函数。 使用beta = 0有效地仅操作一个图像
out = cv2.addWeighted(img, contrast, img, 0, brightness)

# 显示有更改后的对比度和亮度的图像
cv2.imshow('adjusted', out)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出

当执行以上代码时,它将产生以下 输出 窗口。

如何使用Python中的OpenCV更改图像的对比度和亮度?

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python OpenCV