如何使用Python在OpenCV中将彩色图像转换为HLS?

如何使用Python在OpenCV中将彩色图像转换为HLS?

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

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

OpenCV 中,使用 cv2.imread() 函数加载的彩色图像总是以BGR格式表示。要将BGR图像转换为HLS图像,可以使用cv2.cvtColor()函数。这个函数用于将一种颜色空间的图像转换为另一种颜色空间。这个函数有两个参数——第一个是 输入图像 ,第二个是 颜色转换方法

语法

cv2.cvtColor()的语法如下:

cv2.cvtColor(bgr_img, cv2.COLOR_BGR2HLS)

要将RGB图像转换为HLS图像,请按照以下步骤进行操作。

步骤

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

import cv2

使用 cv2.imread() 函数读取 RGB 图像。使用该方法读取的RGB图像位于BGR格式中。可选地,将读取的BGR图像赋值给 bgr_img

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

现在,使用cv2.cvtColor()函数将这个BGR图像转换为HLS图像。可选地,将转换后的HSV图像赋值给 hls_img

hls_img = cv2.cvtColor(bgr_img, cv2.COLOR_BGR2HLS)

最后,显示转换后的HLS图像。

cv2.imshow('HLS image', hls_img)
cv2.waitKey(0)
cv2.destroyAllWindows()

下面看一些示例,更好地了解如何完成这个操作。

示例1

在这个程序中,我们将看到如何对输入图像执行仿射变换。

# 导入必需的库
import cv2

# 读取RGB图像,输入图像是BGR格式
img_bgr = cv2.imread('bike.jpg')

# 将BGR图像转换为HLS
img_hls = cv2.cvtColor(img_bgr, cv2.COLOR_BGR2HLS)

# 显示转换后的HLS图像
cv2.imshow('HLS Image', img_hls)
cv2.waitKey(0)
cv2.destroyAllWindows()

我们将使用这张图片( bike.jpg )作为这个程序的 输入文件

如何使用Python在OpenCV中将彩色图像转换为HLS?

当您运行上述Python程序时,会产生以下 输出 窗口 −

如何使用Python在OpenCV中将彩色图像转换为HLS?

请注意输入图像和转换后的HLS图像之间的颜色差异。

示例2

再来看一个例子 −

import cv2

# 读取RGB图像,该图像为BGR格式
img = cv2.imread('tutpoint.png')

# 将BGR图像转换为HLS
img_hls = cv2.cvtColor(img, cv2.COLOR_BGR2HLS)

# 显示转换后的HLS图像
cv2.imshow('HLS图像', img_hls)
cv2.waitKey(0)
cv2.destroyAllWindows()

将以下图像 ( tutpoint.png ) 作为 输入文件 运行此程序-

如何使用Python在OpenCV中将彩色图像转换为HLS?

运行以上Python程序后,它将生成以下 输出 窗口-

如何使用Python在OpenCV中将彩色图像转换为HLS?

注意输入图像和转换后的HLS图像之间的颜色差异。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Python OpenCV