cv2.addweighted 亮度对比度
时间: 2023-09-07 14:01:47 浏览: 89
cv2.addweighted()函数是OpenCV中用于调整图像亮度和对比度的函数。它采用以下的线性混合公式来计算新的像素值:
新像素值 = (原始像素值1 * α) + (原始像素值2 * β) + γ
其中,α和β是两个线性混合系数,在0到1的范围内取值,用来控制亮度和对比度的变化,γ是一个常数项,用来调整亮度偏移。
当α = 1,β = 0时,新像素值等于原始像素值1,表示只考虑原始图像1的像素值,此时图像的亮度和对比度并没有发生变化。当α = 0,β = 1时,新像素值等于原始像素值2,表示只考虑原始图像2的像素值,此时图像的亮度和对比度也没有发生变化。
通过调整α和β的取值,可以调整图像的亮度和对比度。当α和β的值相等时,图像的亮度和对比度会均等地进行增强或减弱。当α的值大于β时,图像的亮度会增强,当α的值小于β时,图像的亮度会减弱。而γ的取值则可以用来对整个图像进行亮度偏移的调整。
总之,cv2.addweighted()函数是通过线性混合来调整图像的亮度和对比度的,通过调整α和β的值可以实现图像亮度和对比度的灵活调整。
相关问题
cv2图像处理,调节亮度对比度
您可以使用OpenCV库来调整图像的亮度和对比度。下面是一个基本的示例代码:
```python
import cv2
def adjust_brightness_contrast(image, brightness, contrast):
# 调整亮度和对比度
adjusted_image = cv2.addWeighted(image, contrast, image, 0, brightness)
return adjusted_image
# 读取图像
image = cv2.imread('image.jpg')
# 调整亮度和对比度
adjusted_image = adjust_brightness_contrast(image, brightness=10, contrast=1.5)
# 显示原始图像和调整后的图像
cv2.imshow('Original Image', image)
cv2.imshow('Adjusted Image', adjusted_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上述代码中,`adjust_brightness_contrast` 函数使用 `cv2.addWeighted` 函数来调整图像的亮度和对比度。参数 `brightness` 控制亮度调整的值,参数 `contrast` 控制对比度调整的值。您可以根据需要进行调整。
请注意,这只是一个基本示例,您可以根据具体需求进行更复杂的图像处理操作。
img_opening = cv2.morphologyEx(gray_img, cv2.MORPH_OPEN, kernel) img_opening = cv2.addWeighted(gray_img, 1, img_opening, -1, 0) 。 能详细解释这段代码吗
这段代码使用了OpenCV库中的morphologyEx函数对灰度图像进行形态学开运算,即先腐蚀后膨胀,去除图像中的小噪点和细小的边缘。接着使用addWeighted函数将原始灰度图像与开运算后的图像进行叠加,以增强图像的对比度。其中,addWeighted函数的参数1表示原始灰度图像,参数2表示原始灰度图像的权重,参数3表示开运算后的图像,参数4表示开运算后的图像的权重,参数5表示亮度调整值。