基于MATLAB的彩色图像灰度化处理.docx
- 文档编号:23886215
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:12
- 大小:2.28MB
基于MATLAB的彩色图像灰度化处理.docx
《基于MATLAB的彩色图像灰度化处理.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的彩色图像灰度化处理.docx(12页珍藏版)》请在冰豆网上搜索。
基于MATLAB的彩色图像灰度化处理
基于Matlab的彩色图像灰度化处理
第1章绪论
在计算机领域中,灰度数字图像是每个像素只有一个采样颜色的图像。
这类图像通常显示为从最暗的黑色到最亮的白色的灰度,尽管理论上这个采样可以是任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。
灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜色;灰度图像在黑色与白色之间还有许多级的颜色深度。
但是,在数字图像领域之外,“黑白图像”也表示“灰度图像”,例如灰度的照片通常叫做“黑白照片”。
在一些关于数字图像的文章中单色图像等同于灰度图像,在另外一些文章中又等同于黑白图像[1]。
彩色图像的灰度化技术在现代科技中应用越来越广泛,例如人脸目标的检测与匹配以及运动物体目标的监测等等,在系统预处理阶段,都要把采集来的彩色图像进行灰度化处理,这样既可以提高后续算法速度,而且可以提高系统综合应用实效,达到更为理想的要求。
因此研究图像灰度化技术具有重要意义。
本设计是在MATLAB设计环境中完成的。
Matlab的图像处理工具箱提供一套全方位的参照标准算法和图形工具,用于进行图像处理、分析、可视化和算法开发。
可用其对有噪声图像或退化图像进行去噪声或还原、增强图像以获得更高清晰度、提取特征、分析形状和纹理以及对两个图像进行匹配等。
本文主要描述基于Matlab仿真软件,通过加权法平均法,平均值法,最大值法三种方法,实现彩色图像的灰度化处理,并对三种方法的处理结果进行分析对比。
第2章设计原理
将彩色图转化成为灰度图的过程称为图像的灰度化处理。
彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255个中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化X围。
而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其中一个像素点的变化X围为255种,所以在数字图像处理中一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。
灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征[2]。
在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫做灰度值。
因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度X围为0-255。
本设计采用三种方法对图像进行灰度化处理。
a)加权平均法
根据重要性及其它指标,将三个分量以不同的权值进行加权平均。
由于人眼对绿色的敏感最高,对蓝色敏感最低,因此,对RGB三分量进行加权平均能得到较合理的灰度图像。
b)平均值法
求出每个像素点的R、G、B三个分量的平均值,然后将彩色图像中的这个平均值赋予给这个像素的三个分量。
c)最大值法
将彩色图像中的三分量亮度的最大值作为灰度图的灰度值。
本课程设计分别采用了以上三种设计方案,即加权平均法、平均值法和最大值法。
在MATLAB中,通过编程实现了彩色图像的灰度化处理。
第3章彩色图像的灰度化处理
本设计采用的三种方法,都实现了对彩色图像的灰度化处理。
下面分别对其作具体分析。
3.1加权平均法[3]
根据重要性及其它指标,将R、G、B三个分量以不同的权值进行加权平均。
由于人眼对绿色的敏感度最高,对蓝色敏感度最低。
因此,在MATLAB中我们可以按下式系统函数对RGB三分量进行加权平均能得到较合理的灰度图像。
f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j))(3-1)
程序首先读取一个RGB格式的图象,然后调用已有的函数rgb2gray()来实现彩色图像灰度化。
图3.1加权平均法的图像灰度处理
3.2平均值法[3]
将彩色图像中的R、G、B三个分量的亮度求简单的平均值,将得到均值作为灰度值输出而得到灰度图。
其表达式见下式:
f(i,j)=(R(i,j)+G(i,j)+B(i,j))/3(3-2)
用size函数读取原图像图像的尺寸,并以该尺寸构建一个全零矩阵来存储用下面的方法产生的灰度图像。
由于在此之前的语句创建之后图像为双精度型,因而我们采用uint8()将其转化成无符号整型。
然后对原图像中的像素逐点处理,首先采用的是均值法,即将每个像素点上的R,G,B分量取其平均,将处理后均值作为该像素点的灰度值输出,对应代码中MyYuanLaiPic(i,j,k)/3语句,在对所有像素点处理完毕后即可实现彩色图像的灰度化处理。
图3.2平均值法的图像灰度处理
3.3最大值法[3]
将彩色图像中的R、G、B三个分量中亮度的最大值作为灰度图的灰度值。
其表达式见下式:
f(i,j)=max(R(i,j),G(i,j),B(i,j))(3-3)
调用max()函数读取像素点上RGB分量中的最大值作为该点灰度值输出,从而实现彩色图像的灰度化处理。
图3.3最大值法的图像灰度处理
稍作比较即可发现,以三种方法得到的处理结果并不完全相同,这是由于不同的处理方法对于灰度值的选取不同,考虑库函数rgb2gray(),其转化是依据亮度方程f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j))来实现的,即依据人眼对不同颜色的敏感度不同,对RGB分量以不同系数的加权平均,得到较为合理的灰度化结果。
而采用方法二处理是对RGB三个分量取简单的平均,从而得到对应灰度值,而方法三则是直接取用RGB分量中最大值作为灰度值输出。
3.4举例对比[3]
为作进一步说明问题,我们可以分别选用红色图,绿色图以及蓝色图用如上方法处理后来进一步比较说明。
首先,我们选用以红色分量较多的图像进行处理,结果如图3.4所示。
(此处仅给出灰度图之间的对比,原彩色图见附录彩页)
图3.4红色图像灰度化对比
观察如上对比结果可以发现,对于前两种方法处理得到的图2和图3,两图中红色分量灰度化之后基本没有区别,这是由于采用加权平均法对红色分量R的加权系数为0.30,而采用简单平均法的红色分量系数为0.33,故两者对于红色分量的处理结果区别不大,而对于figure4,其采用最大值法,故在亮度现实上明显大于前面二者。
接下来,选取一绿色分量为主的图像进行处理分析,结果如图3.5所示。
图3.5绿色图像灰度化对比
观察如上对比图像结果可以发现,图3的亮度明显低于图2,而图4的亮度则为三个处理结果中最大的。
稍加分析,不难发现,这是由于在方法一的处理中,其对于绿色分量的加权系数为0.59,而方法二中绿色分量的系数约为0.33,加之上图中物体部分颜色为绿色,故作处理后,方法一所得的灰度值大于方法二处理得到的灰度值,因而在显示上,方法一对应的图2较之方法二对应的图3更亮;而对于方法三所得的图4,因其取的是最大值,故最终的灰度值也最大,所以显示最亮。
最后,选取一蓝色分量为主的图像进行处理,结果如图3.6所示。
(此处仅给出灰度图之间的对比,原彩色图见附录彩页)
图3.6蓝色图像灰度化对比
对比如上图像可以发现,此时图3的亮度大于图2的,而图4的亮度依然是三个图像中最大的。
这是由于在得到图2的方法中,其对于蓝色分量的加权系数是0.11,而图3对应的方法二中蓝色分量的系数约为0.33,加之此图像中蓝色分量居多,因而就不难解释如上现象,对于方法一处理后对应像素点的灰度值小于方法三处理后对应点的灰度值,故显示在图像上,图2就偏暗,而图4取的是最大值,故最终在亮度显示上最亮。
3.5结果分析
本课程设计中采用的三种不同设计方法对同一彩色图像的灰度化处理结果不相同,究其原因是由于它们在对同一像素点的灰度值确定上采取的手段不一。
对于方法一,其转换公式为
f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j))(3-4)
其对于不同颜色分量RGB的加权系数不相同,对比方法二中采用的
f(i,j)=(R(i,j)+G(i,j)+B(i,j))/3(3-5)
其采用的加权系数约为0.33,且对于RBG三个分量采用统一加权系数,所以,当一幅图像中红色分量居多的时候,由于对于红色分量,公式(3-4)计算结果与公式(3-5)计算结果基本相同,即对应点像素灰度值基本一致,故处理结果在亮度显示上区别不大;而对于绿色分量,公式(3-4)计算结果大于公式(3-5)计算结果,也即处理所得的像素灰度值更大,所以在绿色分量居多的图像中,两者在处理后,方法一所得图像亮度大于方法二处理得到的图像;同理,对于蓝色分量居多的图像,其方法一处理所得的图像在亮度显示上会低于方法二处理得到的图像。
对于方法三,由于其对灰度值的选取上取的是最大值,故在最终显示上也最亮。
根据上文分析,也就不难解释在图像3.1,3.2和3.3之间显示不同的问题。
由于原图是一七彩图,其包含了红、绿、蓝以及这三者组合得到的其他颜色分量,故在最终显示上,由方法一所得的图3.1可在对比方法二所得的图3.2时,有些部分偏亮,而有些部分则偏暗,这都是由于两种方法中对不RGB三个不同分量的加权平均系数不一致而造成的。
而对于方法三,由于它只是简单的选取三个分量中的最大值作为灰度值输出,故图3.3的亮度最大。
第4章结论
通过对彩色图像灰度处理,可以看出载不同情况下得出的图像不同。
在老师的指导下,我进一步熟悉了MATLAB仿真平台使用方法,并且加深了对彩色图像处理的相关知识的了解,然后在查阅了大量的书籍后,设计出了三种彩色图像灰度化的方案,并顺利实现了仿真。
在本次课程设计过程中,由于对MATLAB中库函数不太熟悉,在一开始的设计过程过程中碰到了很多钉子,但是在老师耐心的指导与同学的帮助下都一一克服了。
在一次次的纠错过程中与不断的摸索下,我终于设计出了彩色图像灰度化的实现代码,并且运行出了正确的结果。
通过这次的课程设计,我深深的感受到了自身的不足。
进行课程设计不但需要多方面的知识,同时还要考验一个人的独立动脑能力和动手能力,这在课本上学不到的。
另外,这还要求我们具有一定的自学能力,在面对多次错误时要能冷静,并且还要有坚定的意志力。
在这次课程设计中,我得到的不仅仅是知识的补充,更多的是问题分析能力的提高,虽然只有短短两周时间,却给了我比平常更多的磨练,也让我在巩固书本知识的同时学到了更多的东西。
在这次的课程设计中,我看到了理论与实际相结合的重要性,同样,我还感受到了将理论实现于现实的重大喜悦,当代码最终成功运行并出现正确的仿真结果时,那种巨大的成就感是无法用言语来形容的[4]。
在实际中,仅仅拥有理论知识是远远不够的,如果不能把理论赋予实践,再丰富的理论知识也只能是“纸上谈兵”,只有将理论与实践相结合,才能结出智慧的果实。
课程设计是对我们综合能力的检测,是培养我们的专业素养以及学习兴趣的很好的途径,学习把理论付诸于实现,能够让我们更加清楚的看到我们努力的结果。
虽然本次课程设计已经结束了,但是我不会忘记从中收到的感受与启发,相信在以后的学习中,我将更加认真努力,争取从知识以及动手能力方面都能更上一层楼!
参考文献
[1]沈清,汤霖.模式识别导论[M].:
国防大学,2001.14~26.
[2]KennethRCaseleman.数字图像处理技术[M].:
电子工业,1998.10~19.
[3]夏良正.数字图像处理[M].:
东南大学,1999.20~22.
[4]章毓晋.图像处理和分析基础[M].:
高等教育,2002.44~56.
附录
MyYuanLaiPic=imread('F:
/3055.jpg');%读取RGB格式的图像
MyFirstGrayPic=rgb2gray(MyYuanLaiPic);%用已有的函数进行RGB到灰
%度图像的转换
[rows,cols,colors]=size(MyYuanLaiPic);%得到原来图像的矩阵的参数
SecGrayPic=zeros(rows,cols);%用得到的参数创建一个全零的矩阵,这个矩%阵用来存储用下面的方法产生的灰度图像
SecGrayPic=uint8(SecGrayPic);%将创建的全零矩阵转化为uint8格式,因%为用上面的语句创建之后图像是double型的
ThirdGrayPic=zeros(rows,cols);
ThirdGrayPic=uint8(ThirdGrayPic);
fori=1:
rows
forj=1:
cols
sum1=0;
sum2=0;
fork=1:
colors
sum1=sum1+MyYuanLaiPic(i,j,k)/3;%用均值法进行RGB到%灰度图像的转换
sum2=sum2+max(MyYuanLaiPic(i,j,k));%用最大值法进行%RGB到灰度图像转换
end
SecGrayPic(i,j)=sum1;%将得到的加权平均值作为对应像素点
%的灰度值
ThirdGrayPic(i,j)=sum2;%将得到的简单平均值作为对应像素点
%的灰度值
end
end
imwrite(SecGrayPic,'F:
/1.bmp','bmp');%将转换后图像以bmp格式写入文件%1.bmp
imwrite(ThirdGrayPic,'F:
/2.bmp','bmp');%将转换后图像以bmp格式写入文件%2.bmp
figure
(1);%显示第1幅图像
imshow(MyYuanLaiPic);%显示原来的RGB图像
figure
(2);%显示第2幅图像
imshow(MyFirstGrayPic);%显示经过系统函数运算过的灰度图像
figure(3);%显示第3幅图像
imshow(SecGrayPic);%显示均值法转化之后的灰度图像
figure(4);%显示第4幅图像
imshow(ThirdGrayPic);%显示最大值法转化之后的灰度图像
彩色图像:
(a)原彩色图像
(b)加权平均法之灰度图像
(c)平均法之灰度图像
(d)最大值法之灰度图像
(e)红色分量图像处理对比结果
(f)绿色分量图像处理对比结果
(g)蓝色分量图像处理对比结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB 彩色 图像 灰度 处理