如何使用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()的语法如下:
要将RGB图像转换为HLS图像,请按照以下步骤进行操作。
步骤
导入所需的库。在以下所有Python示例中,所需的Python库是 OpenCV 。请确保您已经安装了它。
使用 cv2.imread() 函数读取 RGB 图像。使用该方法读取的RGB图像位于BGR格式中。可选地,将读取的BGR图像赋值给 bgr_img 。
现在,使用cv2.cvtColor()函数将这个BGR图像转换为HLS图像。可选地,将转换后的HSV图像赋值给 hls_img 。
最后,显示转换后的HLS图像。
下面看一些示例,更好地了解如何完成这个操作。
示例1
在这个程序中,我们将看到如何对输入图像执行仿射变换。
我们将使用这张图片( bike.jpg )作为这个程序的 输入文件 −
当您运行上述Python程序时,会产生以下 输出 窗口 −
请注意输入图像和转换后的HLS图像之间的颜色差异。
示例2
再来看一个例子 −
将以下图像 ( tutpoint.png ) 作为 输入文件 运行此程序-
运行以上Python程序后,它将生成以下 输出 窗口-
注意输入图像和转换后的HLS图像之间的颜色差异。