Linux + Matlab2009b彩色图像变换成灰度图像实现
=摘要=
这个学期有图像处理课程...这类课程少不了要做实验,交实验作品...今天在完装完成matlab(linux) 后http://www.linuxidc.com/Linux/2012-05/61227.htm 便开始了一个小小的实验...
这个实验就是<彩色图变换成灰级图>..这个记录就是介绍怎么实现的.(基于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是向下取整的.
=实现=
使用矩阵运算...最后得到R,G,B分量都是对应的I分量就OK了..
显示处理前/处理后的图片,的确得到了一灰级图像.
matlab代码:
{{{[直接复制/粘贴]}}}
这个学期有图像处理课程...这类课程少不了要做实验,交实验作品...今天在完装完成matlab(linux) 后http://www.linuxidc.com/Linux/2012-05/61227.htm 便开始了一个小小的实验...
这个实验就是<彩色图变换成灰级图>..这个记录就是介绍怎么实现的.(基于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
- close all
- 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); %显示处理后的图像(灰度);
相关推荐
kanpiaoxue 2013-06-19
RexLeee 2019-12-23
fouweng 2011-08-27
heavenmark 2011-07-31
Tinazhou 2016-11-22
molong0 2017-07-13
ECSHOP专属建设 2016-11-25
ruizhenggang 2011-10-11
BlogForUS 2018-01-22
cxj 2019-10-08
lilygg 2019-10-04
啦啦啦啦啦 2019-09-29
二哈 2012-02-12
小微分享驿站 2011-12-28