资源描述:
《matlab(gui)数字图像处理实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2012—2013学年第二学期课程名称:教学实践Ⅱ:软硬件提高训练任课教师:题目:MATLAB数字图像处理学号:ROB12023姓名:年级:2012级专业:自动化评语:成绩:评卷人:提交日期:年月日1.设计目的利用MATLAB的GUI程序设计一个简单实用的图像处理程序。该程序应具备图像处理的常用功能,以满足要求。2.设计要求设计程序有以下基本功能:1)图像的读取、保存和程序退出2)图像转化为灰度图像3)底片处理(反色)4)截图5)亮度和对比度度调节6)图像的翻转与旋转7)添加噪声8)平滑和锐化9)直方图均衡化处理10)图像的腐蚀和
2、膨胀11)边缘检测12)还原和撤销3.总体设计4.程序与运行结果4.1图像的读取、保存和程序退出1.图像读取1)主要程序A=imread(str)%读取图片imshow(A)%显示图片2)运行结果2.图像保存1)主要程序imwrite(handles.img,sfilefullname);%图像的保存2)运行结果3.退出1)主要程序closeall;%关闭所有2)运行结果(略)4.2图像转化为灰度图像1)主要程序C=rgb2gray(img);%将rgb彩色图像转换为灰度图2)运行结果4.3底片处理(反色)1)主要程序I=imco
3、mplement(handles.img);%底片处理(反色)2)运行结果4.4截图1)主要程序a=imcrop(handles.img);%图像的截取2)运行结果4.5亮度和对比度度调节1.亮度调节1)主要程序y=imadjust(handles.img,[],[],p1);%亮度调节2)运行结果2.对比度调节1)主要程序f=immultiply(handles.img,p1);%对比度增强f=imdivide(handles.img,p1);%对比度减弱2)运行结果4.6图像的翻转与旋转1.图像的翻转1)主要程序fliplr(
4、b)%图像的翻转2)运行结果2.图像的旋转1)主要程序f=imrotate(handles.img,p1,'bilinear','crop');%图像的旋转2)运行结果4.7添加噪声1.椒盐噪声1)主要程序f=imnoise(handles.img,'salt&pepper',p1);%添加椒盐噪声2)运行结果2.高斯噪声1)主要程序f=imnoise(handles.img,'gaussian',p1,p2);%添加高斯噪声2)运行结果3.乘法噪声1)主要程序f=imnoise(handles.img,'speckle',p1)
5、;%添加乘法噪声2)运行结果4.8平滑和锐化1.平滑1)主要程序Imfilter%均值滤波medfilt2%中值滤波2)运行结果2.锐化1)主要程序fspecial()%创建预定义的滤波算子imfilter();imadd();%在实现卷积运算的基础上进行滤波2)运行结果4.9直方图均衡化处理1.灰度图像1)主要程序B=histeq(C);%直方图均衡化函数2)运行结果2.RGB图像1)主要程序B=histeq(C);%直方图均衡化函数2)运行结果4.10图像的腐蚀和膨胀1.图像的腐蚀1)主要程序I1=imerode(handle
6、s.img,se);%图像的腐蚀2)运行结果2.图像的膨胀1)主要程序I1=imdilate(handles.img,se);%图像的膨胀2)运行结果4.11边缘检测1)主要程序rslt=ycbcr2rgb(uint8(img2));%边缘检测2)运行结果4.12还原和撤销1.还原1)主要程序globalS%设计一个全局变量S,保存初始图像路径,以便之后的还原操作2)运行结果2.撤销(只能撤销一次)1)主要程序globalT%设计一个全局变量S,保存每次操作原图像,以便撤销操作2)运行结果5.心得体会通过用MATLAB(GUI)设
7、计数字图像处理界面,我掌握了有关数字图像处理的相关知识和GUI的操作知识,让理论知识与实际相结合,做出了数字图像处理的图形用户界面。在实践前,通过一天的数字图像处理的相关知识与一天GUI的知识的学习,掌握了其基本入门知识;然后在实践中,结合要设计要求补充自学相关知识,在实践中验证理论知识,充实理论知识,加强动手能力;在实践后,总结实践过程,撰写实验报告,再次加深所学知识。6.附录代码(带注释)functionvarargout=dazouyematlab(varargin)%DAZOUYEMATLABM-filefordazouy
8、ematlab.fig%DAZOUYEMATLAB,byitself,createsanewDAZOUYEMATLABorraisestheexisting%singleton*.%%H=DAZOUYEMATLABreturnsthehandlet