主要内容

在RGB和HSV颜色空间之间转换

此示例显示如何通过将图像转换为HSV颜色空间来调整彩色图像的饱和度。然后,该示例显示合成图像的单独HSV颜色平面(色调、饱和度和值)。

将RGB图像转换为HSV图像

将RGB图像读入工作区。显示图像。

RGB=imread(“peppers.png”); imshow(RGB)

Figure包含axes对象。axes对象包含image类型的对象。

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

HSV=rgb2hsv(RGB);

处理HSV图像。此示例通过将S通道乘以比例因子来增加图像的饱和度。

[h,s,v]=内分裂(HSV);饱和因子=2;s_sat=s*饱和系数;HSV_sat=cat(3,h,s_sat,v);

将处理后的HSV图像转换回RGB颜色空间。显示新的RGB图像。经过处理的图像中的颜色更加鲜艳。

RGB_sat=hsv2rgb(HSV_sat);imshow(RGB_sat)

Figure包含axes对象。axes对象包含image类型的对象。

仔细观察HSV颜色空间

要更仔细地检查HSV颜色空间,请创建合成RGB图像。

RGB=重塑(一(64,1)*重塑(jet(64,1192),[64,64,3]);

将合成RGB图像转换为HSV颜色空间。

HSV=rgb2hsv(RGB);

将合成图像的HSV版本拆分为其组件平面:色调、饱和度和值。

[h,s,v]=内分裂(HSV);

与原始图像一起显示单个HSV颜色平面。

蒙太奇({h,s,v,RGB},“边框大小”,10,“背景色”,“w”);

Figure包含axes对象。axes对象包含image类型的对象。

如上图中的色调平面图像所示,色调值从高到低进行线性过渡。如果将色调平面图像与原始图像进行比较,可以看到深蓝色的阴影具有最高值,而深红色的阴影具有最低值。(如前所述,色调比例的两端都有红色值。为避免混淆,样本图像仅使用色调范围开始处的红色值。)

饱和度可以被认为是颜色的纯度。如饱和度平面图像所示,饱和度最高的颜色具有最高值,并表示为白色。在饱和图像的中心,请注意各种灰度。这些对应于颜色的混合;青色、绿色和黄色是真彩色的混合物。值大致相当于亮度,您会注意到值平面的最亮区域对应于原始图像中最亮的颜色。