图像的灰度化处理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

教师评阅意见:

签名:年月日实验成绩:

一、实验目的:

1.了解MATLAB的操作环境和基本功能。

2.掌握MATLAB中图像的读入、显示、保存的方法,掌握相关函数。

3.掌握MATLAB中图像的灰度化处理的实现方法,加强算法设计以及编程

实现的能力。

二、实验主要内容及要求:

1.熟悉MATLAB的编程环境,完成在相关环境下图像的读入、显示、保存等

操作;

2.完成图像的灰度化处理。

三、实验设备及软件:

PC机一台,MATBLAB软件

四、设计方案

任务一:

1)首先选取一张合适的图片存放在MATLAB当前的工作文件夹下(Current Folder),因为只有在当前文件夹下,图像才能被读入,否则会提示文件不存在。2)利用imread函数完成图像的读入,利用imshow函数完成图像的显示,利用imwrite函数完成图像的保存,或者也可以利用图像显示框的保存按键完成图像的保存。

任务二:

1)首先利用clc,clear函数完成清屏和清除变量的操作,清除变量是以免在程

序运行时出现错误。

2)利用imread,im2double函数分别完成图像的读入和将图像像素点值转换到

0-1之间的处理。

3)利用size函数求出图像的的大小,即维度值。然后利用zeros函数建立一个

和原图像大小相等的二位零矩阵,用于存放处理后的灰度图像。

4)利用双重循环以及相应的公式,完成图像的转换,新的的图像存到步骤3)

中的零矩阵中。

五、主要代码及必要说明:

任务一代码:

clc;clear; %清屏,清除变量;

a=imread('coins.png'); %读入coins.png图像,并赋给变量a;

imshow(a); %显示图像;

imwrite(a,'fg.png','png'); %将图像以png的格式存入,文件名fg;

任务二代码:

clc;clear; %清屏,清除变量;

b=imread('Water lilies.jpg');

a=im2double(b);

si=size(a),m=si(1),n=si(2),z=si(3); %求出a的大小,即维度值;

g=zeros(m,n);

for x=1:m %完成彩色图像的转换;

for y=1:n

g(x,y)=0.299*a(x,y,1)+0.587*a(x,y,2)+0.114*a(x,y,3);

end

end

imshow(a);

figure,imshow(g);

六、测试结果及说明:

任务一:可以完成图像的读入,显示与存入。但在读入图像的时候,最好在语句的最后加上分号,因为图像的数据量很大,不加分号所有的数值都会显示在屏幕上。

任务二:灰度化后的图像如下所示,利用公式

()()()()

=++

g x,y0.299*a x,y,10.587*a x,y,20.114*a x,y,3;

即可将图像灰度化,式中各项的系数大小,可改变图像的亮度。

七、实验体会:

相关文档
最新文档