彩色图像灰度化.docx

上传人:b****3 文档编号:1854795 上传时间:2022-10-24 格式:DOCX 页数:12 大小:361.33KB
下载 相关 举报
彩色图像灰度化.docx_第1页
第1页 / 共12页
彩色图像灰度化.docx_第2页
第2页 / 共12页
彩色图像灰度化.docx_第3页
第3页 / 共12页
彩色图像灰度化.docx_第4页
第4页 / 共12页
彩色图像灰度化.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

彩色图像灰度化.docx

《彩色图像灰度化.docx》由会员分享,可在线阅读,更多相关《彩色图像灰度化.docx(12页珍藏版)》请在冰豆网上搜索。

彩色图像灰度化.docx

彩色图像灰度化

摘要

图像处理是一门很有价值的学科,在科学技术不断发展的今天它的技术已趋于成熟。

同时图像之间的处理,在实际应用中也显的越来越重要。

本课程设计的主要任务是完成数字图像处理中关于彩色图像灰度化的仿真,观察仿真结果,并进行结果分析。

本课程设计的系统开发平台为MATLAB,程序运行平台为Windows98/2000/XP。

本次课程设计通过加权平均法、平均值法和最大值法这三种方法,实现了彩色图像的灰度化处理,并对它们进行了对比分析。

最后,完成了彩色图像灰度化的仿真。

关键词:

MATLAB7.0;彩色图像;灰度化

1设计目的……………………………………………………………….….….1

2设计方案……………………………………………………………………...1

3相关知识………...……………………………………………………………2

4详细设计……………………………………………………………………...3

5源代码及分析………..……………………………………………………….4

6功能仿真图及分析……………………………………..…………………….6

7结束语…………………………………………………………………….....11

8参考文献………………………………………………………………..…...12

附录彩页图像……………………………………………………………….13

1设计目的

1、通过MATLAB仿真软件,实现彩色图像的灰度化处理;

2、学习并熟悉MATLAB编程环境的一般操作和运用;

3、在加深对数字图像处理课本知识理解的基础上,学会运用已学的知识设计彩色图像灰度化的处理方法并对结果进行分析。

2设计方案

将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。

彩色图像中的每个像素的颜色有R、G、B三个分量决定,而每个分量有255个中值可取,这样一个像素点可以有1600多万(255*255*255)的颜色的变化范围。

而灰度图像是R、G、B三个分量相同的一种特殊的彩色图像,其中一个像素点的变化范围为255种,所以在数字图像处理中一般先将各种格式的图像转变成灰度图像以使后续的图像的计算量变得少一些。

灰度图像的描述与彩色图像一样仍然反映了整幅图像的整体和局部的色度和亮度等级的分布和特征。

在RGB模型中,如果R=G=B时,则彩色表示一种灰度颜色,其中R=G=B的值叫做灰度值。

因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。

图像的灰度化处理,一般有以下三种设计方案:

1、加权平均法

根据重要性及其它指标,将三个分量以不同的权值进行加权平均。

由于人眼对绿色的敏感最高,对蓝色敏感最低,因此,对RGB三分量进行加权平均能得到较合理的灰度图像。

2、平均值法

求出每个像素点的R、G、B三个分量的平均值,然后将彩色图像中的这个平均值赋予给这个像素的三个分量。

3、最大值法

将彩色图像中的三分量亮度的最大值作为灰度图的灰度值。

本课程设计分别采用了以上三种设计方案,即加权平均法、平均值法和最大值法。

在MATLAB中,通过编程实现了彩色图像的灰度化处理。

3相关知识

1、设计平台

本次设计采用的平台是MATLAB7.0。

MATLAB编程语言被业界称为第四代计算机语言,它允许按照数学推导的习惯编写程序。

MATLAB7.0的工作环境包括当前工作窗口、命令历史记录窗口、命令控制窗口、图形处理窗口、当前路径选择菜单、程序编辑器、变量查看器、模型编辑器、GUI编辑器以及丰富的函数库和MATLAB附带的大量M文件。

MATLAB是由美国MathWorks公司生产的一个为科学和工程计算专门设计的交互式大型软件,是一个可以完成各种计算和数据处理的、可视化的、强大的计算工具。

它集图示和精确计算于一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂计算的领域得到了广泛应用。

MATLAB作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担,被称为第四代编程语言。

在MATLAB设计环境中,图像处理工具箱提供一套全方位的参照标准算法和图形工具,用于进行图像处理、分析、可视化和算法开发。

可用其对有噪声图像或退化图像进行去噪声或还原、增强图像以获得更高清晰度、提取特征、分析形状和纹理以及对两个图像进行匹配。

工具箱中大部分函数均以开放式MATLAB语言编写。

这意味着可以检查算法、修改源代码和创建自定义函数。

图像处理工具箱在生物测定学、遥感、监控、基因表达、显微镜技术、半导体测试、图像传感器设计、颜色科学及材料科学等领域为工程师和科学家提供支持。

它也促进了图像处理技术的教学。

2、发展前景

在计算机领域中,灰度数字图像是每个像素只有一个采样颜色的图像。

这类图像通常显示为从最暗的黑色到最亮的白色的灰度,尽管理论上这个采样可以是任何颜色的不同深浅,甚至可以是不同亮度上的不同颜色。

灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜色;灰度图像在黑色与白色之间还有许多级的颜色深度。

但是,在数字图像领域之外,“黑白图像”也表示“灰度图像”,例如灰度的照片通常叫做“黑白照片”。

在一些关于数字图像的文章中单色图像等同于灰度图像,在另外一些文章中又等同于黑白图像。

彩色图像的灰度化技术在现代科技中应用越来越广泛,例如人脸目标的检测与匹配以及运动物体目标的监测等等,在系统预处理阶段,都要把采集来的彩色图像进行灰度化处理,这样既可以提高后续算法速度,而且可以提高系统综合应用实效,达到更为理想的要求。

因此研究图像灰度化技术具有重要意义。

4详细设计

本设计采用的三种方法,都实现了对彩色图像的灰度化处理。

下面分别对其作具体分析如下:

方法一:

加权平均法

根据重要性及其它指标,将R、G、B三个分量以不同的权值进行加权平均。

由于人眼对绿色的敏感度最高,对蓝色敏感度最低。

因此,在MATLAB中我们可以按下式系统函数(4-1),对RGB三分量进行加权平均能得到较合理的灰度图像。

  f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j))(4-1)

方法二:

平均值法

将彩色图像中的R、G、B三个分量的亮度求简单的平均值,将得到均值作为灰度值输出而得到灰度图。

其表达式见下式(4-2):

  f(i,j)=(R(i,j)+G(i,j)+B(i,j))/3(4-2)

方法三:

最大值法

将彩色图像中的R、G、B三个分量中亮度的最大值作为灰度图的灰度值。

其表达式见下式(4-3):

  f(i,j)=max(R(i,j),G(i,j),B(i,j))(4-3)

5源代码及分析

1、源代码

首先,打开MATLAB软件,新建M文件。

M文件是包括MATLAB代码的文件。

然后,进行代码编写。

本次课程设计的源代码如下:

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);%显示最大值法转化之后的灰度图像

2、代码分析

该程序采用三种方法实现彩色图像的灰度化。

程序首先读取一RGB格式的图象,然后调用已有的函数rgb2gray()来实现彩色图像灰度化,此为方法一;继而,调用size函数读取原图像图像的尺寸,并以该尺寸构建一个全零矩阵来存储用下面的方法产生的灰度图像。

由于在此之前的语句创建之后图像为双精度型,因而我们采用uint8()将其转化成无符号整型。

然后对原图像中的像素逐点处理,首先采用的是均值法,即将每个像素点上的R,G,B分量取其平均,将处理后均值作为该像素点的灰度值输出,对应代码中

MyYuanLaiPic(i,j,k)/3语句,在对所有像素点处理完毕后即可实现彩色图像的灰度化处理,此为方法二;最后我还采用了取最大值法,即调用max()函数读取像素点上RGB分量中的最大值作为该点灰度值输出,从而实现彩色图像的灰度化处理。

6功能仿真图及分析

运行程序代码,可得到如下运行结果,对应如上三种方法,可分别得到如图6-1,6-2和6-3。

(原彩色图见附录)

图6-1采用加权平均法的灰度图

图6-2采用均值法的灰度图

图6-3采用最大值法的灰度图

稍作比较即可发现,以三种方法得到的处理结果并不完全相同,这是由于不同的处理方法对于灰度值的选取不同,考虑库函数rgb2gray(),其转化是依据亮度方程f(i,j)=0.30R(i,j)+0.59G(i,j)+0.11B(i,j))来实现的,即依据人眼对不同颜色的敏感度不同,对RGB分量以不同系数的加权平均,得到较为合理的灰度化结果。

而采用方法二处理是对RGB三个分量取简单的平均,从而得到对应灰度值,而方法三则是直接取用RGB分量中最大值作为灰度值输出。

为作进一步说明问题,我们可以分别选用红色图,绿色图以及蓝色图用如上方法处理后来进一步比较说明。

首先,我们选用以红色分量较多的图像进行处理,结果如图6-4所示。

(此处仅给出灰度图之间的对比,原彩色图见附录彩页)

图6-4红色图像灰度化对比

观察如上对比结果可以发现,对于前两种方法处理得到的figure2和figure3,两图中红色分量灰度化之后基本没有区别,这是由于采用加权平均法对红色分量R的加权系数为0.30,而采用简单平均法的红色分量

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 职业规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1