【图像处理】MATLAB:彩色图像介绍

来源:互联网 发布:mac bootcamp磁盘权限 编辑:程序博客网 时间:2024/06/11 12:08

RGB图像


索引图像

% 把一幅图像的背景色改成绿色,三个语句可以实现。whitebg('g');whitebg('green');whitebg([0 1 0]);

代码示例

X = imread('aaaa.tif')colormap(copper);                           % 将彩色映射设定为参数矩阵map_name,copper为预定义彩色映射subplot(1,2,1);imshow(X);title('原图像');subplot(1,2,2);imshow(X,copper);title('黑色到亮铜色平缓变换');

运行结果


图像转换

[X, map] = rgb2ind(rgb_image, n, dither_option)

  在这里,n决定map的颜色数目,dither_option可以是如下两个值之一:’dither’(默认值),如有必要,以损失空间分辨率为代价,从而达到更好的颜色分辨率;相反,’nodither’将原图上的每个颜色用与之最接近的颜色映射到新图上(取决于n的值),不执行抖动。输入图像可以是uint8、uint16或double类。如果n的值小于等于256,输出数组X是uint8类,否则便是uint16类。

代码示例

f = imread('flower.tif');[X1,map1] = rgb2ind(f,8,'nodither');    % 不执行抖动,原图颜色映射到新图最接近的颜色[X2,map2] = rgb2ind(f,8,'dither');      % 抖动(默认),提高空间分辨率达到更好的颜色分辨率g = rgb2gray(f);                        % 转换为灰度级图像g1 = dither(g);                         % 执行抖动算法,常用于印刷和出版业subplot(3,2,1);imshow(f);title('RGB图像');subplot(3,2,3);imshow(X1,map1);title('无抖动处理,颜色数为8');subplot(3,2,4);imshow(X2,map2);title('有抖动处理,颜色数为8');            % 比无抖动有更好的色调,而且轮廓错误明显减少。subplot(3,2,5);imshow(g);title('灰度级图像');subplot(3,2,6);imshow(g1);title('抖动处理后的二值图像');

运行结果


彩色空间

NTSC 彩色空间


YCbCr 彩色空间

HSV 彩色空间

CMY 和 CMYK 彩色空间


HSI 彩色空间

  HSI(hue,色度;saturation,饱和度;intensity,亮度)




原创粉丝点击