OpenCV—Python 对比度与亮度调整

1.介绍

在图像处理中,调整对比度和亮度是常见的操作之一。通过调整对比度和亮度,我们可以改变图像的外观,使其更加鲜艳和清晰。在本篇文章中,我们将使用OpenCV和Python来演示如何调整图像的对比度和亮度。

2.OpenCV

OpenCV(开源计算机视觉库)是一个用于图像处理和计算机视觉的开源库。它提供了一系列函数和算法,可以用于图像的读取、处理、分析和显示。在本文中,我们将使用OpenCV来调整图像的对比度和亮度。

3.图像的对比度调整

对比度是指图像中灰度级之间的差异程度。调整对比度可以使图像中的黑色和白色更加明显,从而使图像更清晰。在OpenCV中,我们可以使用cv2.convertScaleAbs()函数来调整图像的对比度。

3.1 加载图像

import cv2

# 读取图像

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

3.2 调整对比度

要调整图像的对比度,我们可以使用cv2.convertScaleAbs()函数。该函数可以通过乘以一个比例因子来增加图像的亮度,并通过加上一个偏移值来调整图像的对比度。

# 设置比例因子和偏移值

alpha = 1.5 # 比例因子大于1增加对比度,小于1减小对比度

beta = 50 # 偏移值

# 调整图像的对比度

adjusted_image = cv2.convertScaleAbs(image, alpha=alpha, beta=beta)

3.3 显示结果

# 显示原图像和调整后的图像

cv2.imshow('Original Image', image)

cv2.imshow('Adjusted Image', adjusted_image)

cv2.waitKey(0)

cv2.destroyAllWindows()

4.图像的亮度调整

亮度是指图像的整体明暗程度。调整图像的亮度可以使图像看起来更亮或更暗。在OpenCV中,我们可以使用cv2.add()函数来调整图像的亮度。

4.1 调整亮度

要调整图像的亮度,我们可以使用cv2.add()函数。该函数可以将一个偏移值加到图像的每个像素上,以调整图像的亮度。

# 设置偏移值

brightness = 50 # 正值增加亮度,负值减小亮度

# 调整图像的亮度

adjusted_image = cv2.add(image, brightness)

4.2 显示结果

# 显示原图像和调整后的图像

cv2.imshow('Original Image', image)

cv2.imshow('Adjusted Image', adjusted_image)

cv2.waitKey(0)

cv2.destroyAllWindows()

5.总结

在本文中,我们使用OpenCV和Python演示了如何调整图像的对比度和亮度。通过调整对比度,我们可以使图像更加清晰和鲜艳;通过调整亮度,我们可以使图像更加明亮或更加暗淡。这些操作对于图像处理和计算机视觉任务非常重要,可以改善图像的质量和可视化效果。

后端开发标签