📜  OpenCV |动手图像亮度(1)

📅  最后修改于: 2023-12-03 14:44:54.119000             🧑  作者: Mango

OpenCV | 动手图像亮度

在图像处理中,亮度是引起图像变化的主要因素之一。OpenCV提供了许多函数来调整图像的亮度。在本文中,将介绍如何使用OpenCV来调整和操作图像的亮度。

1. 简介

图像亮度是指图像的整体亮度水平。当一个图像比另一个图像更亮时,意味着它具有更高的亮度。在OpenCV中,可以通过增加或减少每个像素的强度来调整图像的亮度。这可以使用以下公式来实现:

$$ pixel_{new} = pixel_{old} + \beta $$

其中,$pixel_{new}$ 是我们要得到的新像素值,$pixel_{old}$ 是原图像的像素值,$\beta$ 是亮度增益参数。

如果 $\beta> 0$,则图像将更亮。如果 $\beta <0$,则图像变暗。如果 $\beta = 0$,则图像将保持不变。

2. 代码
2.1 加载图像

首先,我们需要加载一张图像。可以使用OpenCV中的 cv2.imread() 函数来加载图像。该函数需要指定图像的文件名和读取模式。例如,以下代码加载名为 img.jpg 的图像:

import cv2

img = cv2.imread('img.jpg')
2.2 调整图像亮度

接下来,我们将使用下面的代码来调整图像亮度。在这个例子中,使用增益参数 $\beta = 50$:

import cv2

img = cv2.imread('img.jpg')

beta = 50
bright_img = cv2.add(img, beta)

cv2.imshow('Original Image', img)
cv2.imshow('Brightened Image', bright_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
2.3 保存图像

最后,可以使用 cv2.imwrite() 函数将处理后的图像保存到文件:

import cv2

img = cv2.imread('img.jpg')

beta = 50
bright_img = cv2.add(img, beta)

cv2.imwrite('bright_img.jpg', bright_img)
3. 结论

在本文中,我们介绍了如何使用OpenCV来调整和操作图像的亮度。通过调整每个像素的强度,我们可以使图像更亮或更暗。OpenCV提供了许多函数来实现这个目的。这些函数包括 cv2.add()cv2.subtract()。在处理完图像之后,可以使用 cv2.imwrite() 函数将图像保存到文件。