函数 > 图像处理 > 图像颜色工具 > 示例:HLS 和 HSV 颜色系统
  
示例:HLS 和 HSV 颜色系统
使用 rgb_to_hlshls_to_rgbrgb_to_hsvhsv_to_rgb 函数可转换图像和颜色矢量的颜色表示。
有关使用此示例的信息,请参考 关于图像处理示例
在 RGB 和 HLS/HSV 之间转换:单一颜色
1. 定义各个 RGB 颜色。
单击复制此表达式
单击复制此表达式
单击复制此表达式
2. 使用 rgb_to_hsv 函数将各个 RGB 分量转换为 HSV。
单击复制此表达式
单击复制此表达式
单击复制此表达式
所有三个矩阵中的第二个和第三个元素相同,且被设为 255。
3. 使用 rgb_to_hls 函数将各个 RGB 分量转换为 HLS。
单击复制此表达式
单击复制此表达式
单击复制此表达式
所有三个矩阵中的第二个和第三个元素相同,且分别被设为 127.5 和 255。
4. 使用 hsv_to_rgbhls_to_rgb 函数验证:转换 HLS/HSV 蓝色矢量是否会返回原始单个蓝色分量。
单击复制此表达式
单击复制此表达式
创建颜色映射
为了查看假彩色灰度图像,您可以使用 hsv_to_rgb 函数来生成颜色映射调色板。
1. 生成 256 色调色板,其中饱和度及值均为 255,色调从 0 到 MAXH 不等。
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
2. 增大 HSV 分量,并将结果进行转置以创建一个 3 x 256 数组。
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
3. 使用 hsv_to_rgb 函数来创建调色板颜色的 3 x 256 RGB 矩阵。
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
4. 将 RGB 矩阵转置以创建 256 x 3 矩阵,然后将索引列置于左侧以产生 256 x 4 颜色映射。
单击复制此表达式
单击复制此表达式
单击复制此表达式
5. 通过上面的颜色调色板来查看假彩色灰度图像,并使用 MAXH 的不同值进行实验以查看图像的效果。
单击复制此表达式
单击复制此表达式
单击复制此表达式
(bridge.bmp)
(bridge_pal.bmp)
查看 HLS 和 HSV 图像
通过将输入类型设置为 HLS 或 HSV,可在图片区域中查看 HLS 和 HSV 图像。
1. 定义从三个单独的子矩阵所创建的 HSV 图像的大小。
单击复制此表达式
2. 创建图像矩阵的 H、S 和 V 分量:
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
3. 绘制新创建的图像:
单击复制此表达式
(color_wheel.bmp)
在 RGB 和 HLS/HSV 之间转换:整幅图像
您可以使用上述函数将 RGB 图像转换为 HLS 和 HSV 图像,以及将 HLS 和 HSV 图像转换为 RGB 图像。
1. 读入 RGB 图像。
单击复制此表达式
单击复制此表达式
(strike_rgb.bmp)
2. 将 RGB 图像转换为 HLS 和 HSV 图像。
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
(strike_hls.bmp)
(strike_hsv.bmp)
3. 将 HLS 和 HSV 图像还原回 RGB 图像。
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
(strike_rgb2.bmp)
(strike_rgb3.bmp)