clear ;
close all;
%Step1 获取图像 装入待处理彩色图像并显示原始图像 Scolor = imread('3。jpg');%imread 函数读取图像文件 Imshow(Scolor);title(‘原始彩色图像’)
原 始 彩 色 图 像
2。1 图像的灰度化
图 2-1 原始图像
彩色图像转化为灰度图像,关键是根据R、G、B分量来计算灰度值,不同的计算方法, 其结果也有所不同。彩色图像与灰度图像的差别主要在于颜色信息的包含量上,包含的多 那么在存储上也更加占空间,因此更会影响系统执行命令的速度,为了解决这个问题,我 们首先要将彩色图像转变为灰度图像,这也是我们在对图像进行识别等处理中非常常见的 一种手段。灰度化处理就是图像从彩色到灰度的过程。彩色图像转化为灰度图像,关键是 根据R、G、B分量来计算灰度值,不同的计算方法,其结果也有所不同。我们进行灰度化 的最终目标是使图像在经过处理之后清晰度提高,更容易识别也就是增加像素动态范围扩 展图像对比度 。在彩色图像中,有R、G、B三个分量。这三个分量分别显示出红、绿、蓝 等各种颜色,因此我们可以理解灰度化过程就是使彩色的R 、G、B 分量相等的过程。灰度 值大的像素点比较亮(像素值最大为255,为白色),反之比较暗(像素值最小为0,是黑 色)。 图像灰度化的算法[5]主要有以下3 种:
(1) 最大值法:将转化前3个值中最大的一个作为转化之后的R、G、B的值,即:
R G B max(R,G, B) (1)
在这个办法中获得转换的灰度图亮度很高。
(2) 平均值法:将转化前R、G、B的平均值作为转化后R、G、B的平均值
R G B (R G B) / 3 (2)来*自-优=尔,论:文+网www.youerw.com
在这个办法中获得转换的灰度图像比较柔和。
(3) 加权平均值法:对R、G、B的值按照一定的权值进行加权平均,即:
R G B (RR GG BB) / 3 (3)
其中,R 、G 、B 分别为R、G、B的权值。
当R 、G 、B 取的值不同时,我们就会得到不同的灰度图像。而因为人眼对绿色最为 敏感,红色次之,对蓝色的敏感性最低,所以在G R B 这种情况下我们就可以得到相 比于其他情况下更易识别的灰度图像。一般来说,当R =0。299、G =0。587、B =0。114 时, 得到的灰度图像效果最好。
%将彩色图像转换为黑白并显示 Sgray=rgb2gray(Scolor);%rgb2gray 转换成灰度图 figure,imshow(Sgray),title('原始黑白图像');