《MATLAB的图像处理的课程设计方案 .docx》由会员分享,可在线阅读,更多相关《MATLAB的图像处理的课程设计方案 .docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结基 于 MATLAB的图像 处理的课程设计一、课程设计的目的:综合运用 MATLAB工具箱实现图像处理的GUI 程序设计。二、课程设计的基本要求1) 熟识和把握 MA TLAB程序设计方法2) 把握 MATLAB GUI程序设计3) 熟识 MATLAB图像处理工具箱4) 学会运用 MATLAB工具箱对图像进行处理和分析三、课程设计的内容要求利用 MA TLAB设计实现图像处理的图形用户界面,利用图像处理工具箱实现以下的图像处理功能:双击打开 MATLAB7.0 File NewGUI 单击 , 调整 axes1大小 单击 OK ,调整按钮大小和颜色,修改名称 再建 axes2单
2、击 OK ,调整按钮大小和颜色,修改名称储存可编辑资料 - - - 欢迎下载精品名师归纳总结 View M-file Edit1) 图像的读取和储存。写程序可编辑资料 - - - 欢迎下载精品名师归纳总结在 function open_CallbackhObject, eventdata, handles 后面输入如下程序name,path=uigetfile*.*,。file=path,name 。axeshandles.axes1。 x=imreadfile 。%读取图像handles.img=x 。guidatahObject, handles 。imshowx 。% 显示图像title
3、 打开 。在 function save_CallbackhObject, eventdata, handles 后面输入如下程序name,path=uigetfile*.*,。file=path,name 。axeshandles.axes1。x=imreadfile 。handles.img=x 。guidatahObject, handles 。imshowx 。imwritex,new.jpg 。% 储存图像可编辑资料 - - - 欢迎下载精品名师归纳总结title 储存 。2) 设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。在 funct
4、ion liangdu_CallbackhObject, eventdata, handles后面输入如下程序axeshandles.axes2。x=handles.img 。y=imadjustx,0.15 0.9, 0 1。% 增亮图像imshowy 。title 亮度 在 function huidu_CallbackhObject, eventdata, handles后面输入如下程序axeshandles.axes2。x=rgb2grayhandles.img 。%RGB 图像转换为灰度图像imshowx 。title 灰度 3) 设计图形用户界面,让用户能够用鼠标选取图像感爱好区域
5、,显示和储存该选择区域。在 function cut_CallbackhObject, eventdata, handles 后面输入如下程序axeshandles.axes2。x=imcrophandles.imgimshowx 。% 截图imwritex,cut.jpg 。% 储存图像title 截图 。4) 编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并储存,比较几种插值的成效。在 function nearfangda_CallbackhObject, eventdata, handles后面输入如下程序axeshandles.axes2。
6、x=imresizehandles.img,2,nearest 。% 最近邻插值法放大imshowx 。imwritex,nearfangda.jpg title 最近邻插值法放大。在 function nearsuoxiao_CallbackhObject, eventdata, handles后面输入如下程序axeshandles.axes2。x=imresizehandles.img,0.5,nearest 。% 最近邻插值法缩小imshowx 。可编辑资料 - - - 欢迎下载精品名师归纳总结imwritex,nearsuoxiao.jpg title 最近邻插值法缩小。在 funct
7、ion doublefangda_CallbackhObject, eventdata, handles后面输入如下程序axeshandles.axes2。x=imresizehandles.img,5,bilinear 。% 双线性插值法放大图像imshowx 。imwritex,doublefangda.jpg 。title 双线性插值法放大。在 function doublesuoxiao_CallbackhObject, eventdata, handles后面输入如下程序axeshandles.axes2。x=imresizehandles.img,0.5,bilinear 。%双线
8、性插值法缩小图像imshowx 。imwritex,doublesuoxiao.jpg 。title 双线性插值法缩小。 5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的成效。在 function zhifangtu_CallbackhObject, eventdata, handles后面输入如下程序sethandles.axes2,HandleVisibility,ON 。axeshandles.axes2。x=imhisthandles.img 。%直方图统计x1=x1:10:256 。horz=1:10:256 。barhorz,x1 。%axis0 255 0
9、150000 。sethandles.axes2,xtick,0:50:255 。%sethandles.axes2,ytick,0:2000:15000 。sethandles.axes2,HandleVisibility,OFF 。在 function junheng_CallbackhObject, eventdata, handles后面输入如下程序sethandles.axes2,HandleVisibility,ON 。axeshandles.axes2。h=histeqhandles.img 。%直方图均衡imshowh 。%sethandles.axes2,ytick,0:20
10、00:15000 。sethandles.axes2,HandleVisibility,OFF 。6) 能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。比较去噪成效。可编辑资料 - - - 欢迎下载精品名师归纳总结在 function gaussian_CallbackhObject, eventdata, handles 后面输入如下程序axeshandles.axes2。x=handles.img 。y=imnoisex,gaussian,0,0.05 。% 加高斯噪声imshowy 。imwritey,gaussian.jpg 。title 加高斯噪声 在 function
11、salt_CallbackhObject, eventdata, handles后面输入如下程序axeshandles.axes2。x=handles.img 。y=imnoisex,salt & pepper,0.04 。%加椒盐噪声imshowy 。imwritey,salt.jpg 。title 加椒盐噪声 在 function medfilt_CallbackhObject, eventdata, handles后面输入如下程序:axeshandles.axes2。x=handles.img 。y=imnoisex,salt & pepper,0.04 。%加椒盐噪声z=medfilt
12、2y,5 5,symmetric。%中值滤波imshowz 。imwritez,medfilt.jpg。title 中值滤波 。在 function wiener_CallbackhObject, eventdata, handles后面输入如下程序:axeshandles.axes2。x=handles.img 。y=imnoisex,gaussian,0,0.05 。% 加高斯噪声z=wiener2y,5 5 。% 自适应滤波imshowz 。imwritez,wiener.jpg 。title 自适应滤波 7) 频谱处理,能够分析图像频谱,显示频谱图。在 function pinputu
13、_CallbackhObject, eventdata, handles后面输入如下程序axeshandles.axes2。x=handles.img 。可编辑资料 - - - 欢迎下载精品名师归纳总结J2=fft2x 。% 傅立叶变换K2=fftshiftJ2 。%转换数据矩阵imshowlogabsK2,。% 显示频谱图title 频谱图 。8) 设计巴特沃斯低通滤波对图像进行低通滤波处理,显示结果。在 function butterdi_CallbackhObject, eventdata, handles后面输入如下程序axeshandles.axes2。x=handles.img 。
14、y1=imnoisex,salt & pepper 。 % 叠加椒盐噪声f=doubley1 。% 数据类型转换, MA TLAB 不支持图像的无符号整型的运算g=fft2f 。% 傅立叶变换g=fftshiftg 。% 转换数据矩阵M,N=sizeg 。nn=2。% 二阶巴特沃斯 Butterworth 低通滤波器d0=50。% 截止频率为 50 m=fixM/2 。 n=fixN/2 。for i=1:Mfor j=1:Nd=sqrti-m2+j-n2。h=1/1+0.414*d/d02*nn。% 运算低通滤波器传递函数resulti,j=h*gi,j。endend result=ifft
15、shiftresult。y2=ifft2result 。y3=uint8realy2 。imshowy3 。% 显示滤波处理后的图像imwritey3,butterdi.jpg。title 巴特沃斯低通滤波 9)设计高斯高通虑波器,显示结果。axeshandles.axes2。x=handles.img 。y1=imnoisex,gaussian 。% 加高斯噪声f=doubley1 。% 数据类型转换可编辑资料 - - - 欢迎下载精品名师归纳总结k=fft2f 。% 傅立叶变换g=fftshiftk 。% 转换数据矩阵M,N=sizeg 。nn=2。d0=25。% 截止频率为 25 m=f
16、ixM/2 。 n=fixN/2 。for i=1:Mfor j=1:Nd=sqrti-m2+j-n2。% 运算高通滤波器传递函数if d=d0h=0 。else h=1。endresulti,j=h*gi,j。endend result=ifftshiftresult。y2=ifft2result 。y3=uint8realy2 。imshowy3 。% 显示滤波处理后的图像imwritey3,gaussiangao.jpg 。title 高斯高通滤波 四、课程设计的体会 省略 五、附录1、参考书目:1) MA TLAB语言及其在电子信息工程中的应用王洪元主编清华高校出版社2) MA TLA
17、B在数字图像处理中的应用机械工业出版社2、源代码接受灰度变换的方法增强图像的对比度:I=imreadrice.tif 。imshowI 。figure,imhistI 。J=imadjustI,0.15 0.9, 0 1。可编辑资料 - - - 欢迎下载精品名师归纳总结figure,imshowJ 。figure,imhistJ 。模拟图像受高斯白噪声和椒盐噪声的影响:I=imreadeight.tif 。imshowI 。J1=imnoiseI,gaussian,0,0.02 。% 叠加均值为 0,方差为 0.02的高斯噪声figure,imshow J1 。J2=imnoiseI,salt & pepper,0.04 。% 叠加密度为 0.04的椒盐噪声。figure,imshowJ2 。可编辑资料 - - - 欢迎下载