Linux + Matlab2009b彩色图像变换成灰度图像实现

=摘要=这个学期有图像处理课程…这类课程少不了要做实验,交实验作品…今天在完装完成matlab(linux) 后便开始了一个小小的实验…这个实验就是<彩色图变换成灰级图>..这个记录就是介绍怎么实现的.(基于matlab);=实验結果=

原彩色图:

变换后的灰级图:

=原理=彩图之所以是彩色的,是因为其位图信息中一个像素是由RBG三个分量组成的….当一个像素的R,G,B三个分量的值是一样时,此时像素的色是灰级的(这一点在RBG立体图中可以看出)….一般彩图是RGB模式的,而HSI模式中的I是代表一种色的亮度…包含了灰度信息…这个就是基于RGB到HSI模式的彩图到灰级图的转换原理.只需要从R,G,B分量中计算出对应的I分量,…然后把R,G,B分量都赋值I…这样就得到此图的灰度图像了.RGB转HSI模式可以参考其他资料…这里给出RGB分量得到I分量的公式:I = ( R + G + B )/3;I是向下取整的.=实现=

实现过程:使用matlab加载一幅png图像(彩色的) ,

得到此图的RGB数据..行*列*3字节大小使用矩阵运算…最后得到R,G,B分量都是对应的I分量就OK了..显示处理前/处理后的图片,的确得到了一灰级图像.matlab代码:{{{[直接复制/粘贴]

clear closeall img=imread(‘~/Desktop/sky.png’);%加载图像RBG三维矩阵. figure; imshow(img);%显示处理前图像(真彩); I=((img(:,:,1)+img(:,:,2)+img(:,:,3)))/3;%得到每一个RGB像素对应的分量I.(RGB转HSI模型的计算公式) gray(:,:,1)=I;%各分量赋值I gray(:,:,2)=I;%各分量赋值I gray(:,:,3)=I;%各分量赋值I figure; imshow(gray);%显示处理后的图像(灰度);

}}}

,青春在我的心中是苦涩的又是甘甜的,是精致的又是粗糙的,

Linux + Matlab2009b彩色图像变换成灰度图像实现

相关文章:

你感兴趣的文章:

标签云: