如何使用OpenCV Python将RGB图像转换为HSV图像?

如何使用OpenCV Python将RGB图像转换为HSV图像?

RGB(彩色)图像具有三个通道,红色、蓝色和绿色。在OpenCV中,彩色图像的形状为[H,W,C]格式,其中H、W和C分别表示图像高度、宽度和通道数。三个通道的值范围在0到255之间。

HSV图像也有三个通道,分别是色调、饱和度和亮度通道。在OpenCV中,色调通道的值范围为0到179,而饱和度和亮度通道的值范围为0到255。

在OpenCV中,要将RGB图像转换为HSV图像,我们使用cv2.cvtColor()函数。该函数用于将图像从一种颜色空间转换为另一种颜色空间。

此函数接受两个参数,第一个是输入图像,第二个是颜色转换方法。请参见下面给出的语法

cv2.cvtColor(bgr_img, cv2.COLOR_BGR2HSV)

步骤

要将RGB图像转换为HSV图像,请执行以下步骤

导入所需库。在所有以下Python示例中,所需的Python库为OpenCV。请确保您已经安装了它。

import cv2

使用cv2.imread()读取输入的RGB图像。使用此方法读取的RGB图像的格式为BGR格式。可选择将读取的BGR图像赋值给bgr_img。

bgr_img = cv2.imread('water.jpg')

现在使用cv2.cvtColor()函数将此BGR图像转换为HSV图像。可选择将转换后的HSV图像赋值给hsv_img。

hsv_img = cv2.cvtColor(bgr_img, cv2.COLOR_BGR2HSV)

显示上述转换后的HSV图像。

cv2.imshow('HSV image', hsv_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

输入图像

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

如何使用OpenCV Python将RGB图像转换为HSV图像?

示例

此Python程序将RGB图像转换为HSV图像。

import cv2
# read the input RGB image as BGR format
bgr_img = cv2.imread('water.jpg')

# Convert the BGR image to HSV Image
hsv_img = cv2.cvtColor(bgr_img, cv2.COLOR_BGR2HSV)
cv2.imwrite('hsv_image.jpg', hsv_img)

# Display the HSV image
cv2.imshow('HSV image', hsv_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

输出

当您运行上述程序时,它将产生以下输出−

如何使用OpenCV Python将RGB图像转换为HSV图像?

注意原始RGB图像和HSV图像之间的差异。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python OpenCV