图像的灰度化处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;
即可将图像灰度化,式中各项的系数大小,可改变图像的亮度。
七、实验体会: