32.5 颜色转换

Octave 支持从 RGB 颜色系统转换为 HSV 颜色系统,反之亦然。还可以将彩色 RGB 图像转换为灰度图像。

 
hsv_map = rgb2hsv (rgb_map)
hsv_img = rgb2hsv (rgb_img)

将颜色图或图像从 RGB 转换为 HSV 颜色空间。

RGB 空间中的颜色由红色、绿色和蓝色强度组成。

HSV 空间中的颜色由圆柱坐标系中的色调(Hue)、饱和度(Saturation)和明度(Value,即亮度)级别表示。色调是方位角,描述主色调。饱和度是径向距离,表示混入颜色的色调量。明度是高度,表示颜色中的光量。

输出类和大小将与输入相同。

另请参阅: hsv2rgb, rgb2ind, rgb2gray.

 
rgb_map = hsv2rgb (hsv_map)
rgb_img = hsv2rgb (hsv_img)

将颜色图或图像从 HSV 转换为 RGB 颜色空间。

HSV 空间中的颜色由圆柱坐标系中的色调(Hue)、饱和度(Saturation)和明度(Value,即亮度)级别表示。色调是方位角,描述主色调。饱和度是径向距离,表示混入颜色的色调量。明度是高度,表示颜色中的光量。

输入可以是颜色图或 RGB 图像。在浮点输入的情况下,值应在 [0 1] 范围内。对于色调(方位角),由于该值对应于角度,会使用 mod (h, 1) 进行处理。

>> hsv2rgb ([0.5 1 1])
⇒   ans = 0 1 1

>> hsv2rgb ([2.5 1 1])
⇒   ans = 0 1 1

>> hsv2rgb ([3.5 1 1])
⇒   ans = 0 1 1

输出类和大小将与输入相同。

另请参阅: rgb2hsv, ind2rgb.

 
I = rgb2gray (rgb_img)
gray_map = rgb2gray (rgb_map)

将图像或颜色图从红-绿-蓝(RGB)颜色空间转换为灰度强度图像。

输入可以是 uint8、int8、uint16、int16、single 或 double 类。输出与输入属于同一类。

实现说明:灰度强度计算为

I = 0.298936*R + 0.587043*G + 0.114021*B

当 RGB 转换为 YIQ 时,该公式对应于亮度通道,如 https://en.wikipedia.org/wiki/YIQ 中所述。

另请参阅: rgb2hsv, rgb2ind.


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4