matlab 图像处理报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《 MATLAB 实践》
For personal use only in study and research; not for commercial
use
课程设计
学生姓名:
学号:
专业班级:
指导教师:
二○○九年三月十三日
1.设计目的…………………………………………………第 3页
2.题目分析…………………………………………………第3 页
3.总体设计…………………………………………………第4 页
4.具体设计…………………………………………………第 6页
5.结果分析…………………………………………………第 20页
6.心得体会…………………………………………………第 20页
7.参考书目…………………………………………………第 20页
1 课程设计的目的:
综合运用MATLAB工具箱实现图像处理的GUI程序设计。
2、题目分析
课程设计的基本要求
1)熟悉和掌握MATLAB 程序设计方法
2)掌握MATLAB GUI 程序设计
3)学习和熟悉MATLAB图像处理工具箱
4)学会运用MATLAB工具箱对图像进行处理和分析
课程设计的内容
学习MATLAB GUI程序设计,利用MATLAB图像处理工具箱,设计和实现自己的Photoshop 。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。
以下几点是程序必须实现的功能。
1)图像的读取和保存。
2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。
3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。
4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。
5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。
6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。比较去噪效果。
3、总体设计
本软件工具栏主要有文件,工具、图像等一些基本功能,如文件选项中包括打开、保存以及退出程序,操作选项卡中包含一些常用功能,对图像的处理通过对工具
栏的操作来完成,下面将就具体功能逐个说明。每一小段程序将在%后说明
4、具体设计
a.文件→打开
[name,path]=uigetfile('*.*','');
file=[path,name];
axes(handles.axes1);
x=imread(file); %读取图像
handles.img=x;
guidata(hObject, handles);
imshow(x); %显示图像
title('打开')
b.文件→保存
global BW % 定义全局变量
[filename,pathname]= uiputfile({'*.*'},'save picture'); x=[pathname,filename];
imwrite(BW,x); %保存图像
c.文件→退出
clc;
close all;
close(gcf);
(2)工具中的加入噪声
a.工具→噪声→高斯噪声:
global BW
axes(handles.axes2);
prompt={'输入参数1:','输入参数2:'};
defans={'0','0.02'};
p=inputdlg(prompt,'输入参数',1,defans);
p1=str2num(p{1});
p2=str2num(p{2});
y=imnoise(handles.img,'gaussian',p1,p2); %生成高斯噪声imshow(y);
imwrite(y,'gaussian.jpg'); %自动生成处理过的图像title('高斯噪声');
BW=y;
b.工具→噪声→乘性噪声
global BW
axes(handles.axes2);
prompt={'输入参数1:'};
defans={'0.02'};
p=inputdlg(prompt,'输入参数',1,defans);
p1=str2num(p{1});
y=imnoise(handles.img,'speckle',p1); %生成乘性噪声
imshow(y);
imwrite(y,'speckle.jpg'); %自动生成处理过的图像title('乘性噪声');
BW=y;
c.工具→噪声→椒盐噪声
global BW
axes(handles.axes2);
prompt={'输入参数1:'};
defans={'0.02'};
p=inputdlg(prompt,'输入参数',1,defans);
p1=str2num(p{1});
y=imnoise(handles.img,'salt & pepper',p1); %生成椒盐噪声imshow(y);
imwrite(y,'salt.jpg'); %自动生成处理过的图像title('椒盐噪声');
BW=y;