matlab图像处理报告_第1页
matlab图像处理报告_第2页
matlab图像处理报告_第3页
matlab图像处理报告_第4页
matlab图像处理报告_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 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图像处理工

2、具箱4)学会运用MATLAB工具箱对图像进行处理和分析课程设计的内容学习MATLAB GUI程序设计,利用MATLAB图像处理工具箱,设计和实现自己的Photoshop 。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。然后按照自己拟定的功能要求进行程序设计和调试。 以下几点是程序必须实现的功能。1)图像的读取和保存。2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放

3、大和缩小整数倍的操作,并保存,比较几种插值的效果。5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。比较去噪效果。3、总体设计本软件工具栏主要有文件,工具、图像等一些基本功能,如文件选项中包括打开、保存以及退出程序,操作选项卡中包含一些常用功能,对图像的处理通过对工具栏的操作来完成,下面将就具体功能逐个说明。每一小段程序将在%后说明4、具体设计a文件打开name,path=uigetfile('*.*','');file=path,name;axes(handles.axe

4、s1);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 BWaxes(hand

5、les.axes2);prompt='输入参数1:','输入参数2:'defans='0','0.02'p=inputdlg(prompt,'输入参数',1,defans);p1=str2num(p1);p2=str2num(p2);y=imnoise(handles.img,'gaussian',p1,p2); %生成高斯噪声imshow(y);imwrite(y,'gaussian.jpg'); %自动生成处理过的图像title('高斯噪声');BW=y;b工具噪

6、声乘性噪声global BWaxes(handles.axes2);prompt='输入参数1:'defans='0.02'p=inputdlg(prompt,'输入参数',1,defans);p1=str2num(p1);y=imnoise(handles.img,'speckle',p1); %生成乘性噪声imshow(y);imwrite(y,'speckle.jpg'); %自动生成处理过的图像title('乘性噪声');BW=y;c工具噪声椒盐噪声global BWaxes(handles

7、.axes2);prompt='输入参数1:'defans='0.02'p=inputdlg(prompt,'输入参数',1,defans);p1=str2num(p1);y=imnoise(handles.img,'salt & pepper',p1); %生成椒盐噪声imshow(y);imwrite(y,'salt.jpg'); %自动生成处理过的图像 title('椒盐噪声');BW=y;工具去噪加入高斯噪声后的滤波a工具去噪自适应滤波global BWaxes(handles.ax

8、es2);y=wiener2(handles.img); %自适应滤波imshow(y);imwrite(y,'wiener.jpg');title('自适应滤波');BW=y; b工具去噪线性滤波global BWaxes(handles.axes2);h=1 1 1;1 1 1;1 1 1;H=h/9;i=double(handles.img);k=conv2(i,h); %线性滤波imshow(k,);title('线性滤波');BW=y;c工具去噪中值滤波global BWaxes(handles.axes2);x=(handles.im

9、g);prompt='输入参数1:','输入参数2:'defans='5','5'p=inputdlg(prompt,'输入参数',1,defans);p1=str2num(p1);p2=str2num(p2);z=medfilt2(x,p1,p2,'symmetric'); %中值滤波imshow(y);imwrite(y,'medfilt.jpg');title('中值滤波');BW=y;工具缩放(主要对文件的尺寸进行修改)a工具缩放最近邻插值global BWa

10、xes(handles.axes2);prompt='缩放倍数'defans='2'p=inputdlg(prompt,'输入参数',1,defans);p1=str2num(p1);x=imresize(handles.img,p1,'nearest'); %最近邻插值法缩放imshow(x);imwrite(x,'near .jpg')title(' 最近邻插值法缩放');BW=x;把新图像保存为114(原图像为113)新图像大小为原来的0.5*0.5倍b工具缩放双线性插值global BWax

11、es(handles.axes2);prompt='缩放倍数'defans='2'p=inputdlg(prompt,'输入参数',1,defans);p1=str2num(p1);x=imresize(handles.img,p1,'bilinear'); %双线性插值法缩放imshow(x);imwrite(x,'double.jpg');title('双线性插值');BW=x;把新图像保存为115(原图像为113)新图像大小为原来的2*2倍工具剪切global BWaxes(handles.a

12、xes2);x=imcrop(handles.img); %截图imshow(x);imwrite(x,'cut.jpg'); %保存图像title('截图');BW=x;工具频谱axes(handles.axes2);x=(handles.img);J2=fft2(x); %傅立叶变换K2=fftshift(J2); %转换数据矩阵y=imshow(log(abs(K2),8,10); %显示频谱图title('频谱图');工具旋转global BWaxes(handles.axes2);x=(handles.img);prompt='

13、旋转角度'defans='60'p=inputdlg(prompt,'输入参数',1,defans);p1=str2num(p1);y=imrotate(x,p1,'bilinear','crop'); %旋转角度imshow(y); %显示旋转效果BW=y;图像对比度调节global BWaxes(handles.axes2);x=(handles.img); prompt='下限0.00','上限1.00','r'defans='0.15','0.

14、85','0.5'p=inputdlg(prompt,'输入参数',1,defans);p1=str2num(p1);p2=str2num(p2);p3=str2num(p3);y=imadjust(x,p1,p2, 0.15,0.85,p3); %对比度调节imshow(y);title('对比度调节');BW=y;图像亮度调节global BWaxes(handles.axes2);x=(handles.img); prompt='下限0.00','上限1.00'defans='0.15 

15、9;,'0.85'p=inputdlg(prompt,'输入参数',1,defans);p1=str2num(p1);p2=str2num(p2);y=imadjust(x,0 1, p1 ,p2); %亮度调节imshow(y);title('亮度调节');BW=y;图像灰度图像global BWaxes(handles.axes2);x=rgb2gray(handles.img); %RGB图像转换为灰度图像imshow(x);imwrite(x ,'huidu.jpg')title(' 灰度');BW=x;直

16、方图直方图统计set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);x=imhist(handles.img); %直方图统计x1=x(1:10:256);horz=1:10:256;bar(horz,x1);%axis(0 255 0 150000);set(handles.axes2,'xtick',0:50:255);%set(handles.axes2,'ytick',0:2000:15000);set(handles.axes2,'Handl

17、eVisibility','OFF');直方图直方图均衡set(handles.axes2,'HandleVisibility','ON');axes(handles.axes2);h=histeq(handles.img); %直方图均衡imshow(h);%set(handles.axes2,'ytick',0:2000:15000);set(handles.axes2,'HandleVisibility','OFF');关于msgbox('这是一个关于图像处理GUI程序'

18、;,'关于');5、结果分析经过调试,修改之后所设计的功能均可以实现,其具体功能在其字面已很明显,这里就不再赘述。 6、心得体会GUI就是通过窗口、选单、按钮、文字说明等对象构成的一个美观的界面,提供用户利用鼠标和键盘方便的实现操作。通过此次课程设计熟悉了GUI程序设计的基本步骤及方法。在编程的过程中遇到很多的问题,如关于保存的问题,每次保存的结果都是未处理的图像,因此一直在寻找axes2的句柄,最后在同学的帮助下终于解决了问题。遇到问题不能盲目的相信自己,同学、老师都能提供巨大的帮助。参考书目:1 MATLAB实用教程 郑阿奇 电子工业出版社 2 应用MATLAB实现信号分析和处理 张明照等 科学出版社仅供个人用于学习、研究;不得用于商业用途。For personal use only in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论