21xrx.com
2024-05-20 05:38:13 Monday
登录
文章检索 我的文章 写文章
使用OpenCV调整图片亮度的方法
2023-08-02 20:32:59 深夜i     --     --
OpenCV 图片亮度 调整方式

OpenCV是一个开源的计算机视觉库,被广泛应用于图像处理和计算机视觉领域。它提供了丰富的功能和工具,使我们能够对图像进行各种各样的操作,包括调整亮度。

调整图像亮度是一种常见的图像处理任务,可以增加或减少图像的亮度水平。下面将介绍一些使用OpenCV调整图像亮度的方法。

1. 使用add函数

OpenCV中的add函数可以用于将两个图像相加。通过将一个具有固定亮度增量的图像添加到原始图像中,可以调整图像的亮度。下面是一个示例代码:


import cv2

img = cv2.imread("image.jpg")

brightness = 50

adjusted_img = cv2.add(img, np.ones(img.shape, dtype="uint8") * brightness)

cv2.imshow("Adjusted Image", adjusted_img)

cv2.waitKey(0)

在这个例子中,首先使用`cv2.imread`函数加载一张图像。然后,定义一个亮度增量变量`brightness`,并将其设置为50。接下来,通过使用`cv2.add`函数将`img`和`np.ones`(用于创建一个与原始图像大小相同的矩阵)相加,并将其赋值给`adjusted_img`。最后,使用`cv2.imshow`函数显示调整后的图像。

2. 使用gamma校正

另一种常见的调整图像亮度的方法是使用gamma校正。gamma校正是一种非线性操作,通过将图像的像素值映射到一个新的范围来调整亮度。下面是一个示例代码:


import cv2

import numpy as np

img = cv2.imread("image.jpg")

gamma = 1.5

adjusted_img = np.power(img / 255.0, gamma) * 255.0

adjusted_img = adjusted_img.astype("uint8")

cv2.imshow("Adjusted Image", adjusted_img)

cv2.waitKey(0)

在这个例子中,首先使用`cv2.imread`函数加载一张图像。然后,定义一个gamma值变量`gamma`,并将其设置为1.5。接下来,将图像的像素值除以255,将其范围缩放到0到1之间。然后,使用`np.power`函数将每个像素值进行gamma校正,并将结果乘以255,将其范围缩放回0到255之间。最后,使用`astype("uint8")`函数将调整后的图像转换为无符号整型,并使用`cv2.imshow`函数显示图像。

通过使用这些方法,我们可以轻松地使用OpenCV调整图像的亮度。无论是通过使用add函数还是gamma校正,OpenCV提供了强大而灵活的工具,使我们能够对图像进行各种各样的亮度调整。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复