资源描述:
《基于matlab语言的数字图像处理实验(gui)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、数字图像处理实验报告——基于MATLAB语言的图像处理软件姓名:班级:学号:专业:45目录1.设计目的22.设计要求23.总体设计24.模块设计34.1图像的读取、保存和程序退出34.2图像转化为灰度图像54.3底片处理(反色)64.4截图64.5亮度和对比度度调节64.6图像的翻转与旋转74.7添加噪声94.8平滑和锐化104.9直方图均衡化处理114.10图像的腐蚀和膨胀124.11边缘检测134.12还原和撤销165.结果分析175.1转为灰度图像175.2底片处理175.3截图175.4亮度和对比度调节185.5图像翻
2、转与旋转195.6添加噪声、平滑和锐化205.7直方图均衡化235.8腐蚀和膨胀245.9边缘检测256.心得体会267.附录代码27451.设计目的利用MATLAB的GUI程序设计一个简单实用的图像处理程序。该程序应具备图像处理的常用功能,以满足要求。2.设计要求设计程序有以下基本功能:1)图像的读取和保存2)图像转化为灰度图像3)底片处理(反色)4)截图5)亮度和对比度度调节6)图像的翻转与旋转7)添加噪声8)平滑和锐化9)直方图均衡化处理10)图像的腐蚀和膨胀11)边缘检测3.总体设计软件的总体设计界面布局如上图所示,主
3、要分为2个区域:显示区域与操作区域。显示区域:显示原图像,以及效果图,即处理前与处理后的图像。操作区域:通过功能键实现对图像的各种处理。在图中可见,界面左边和下方为一系列功能按键如“转为灰度图像”、“撤销”、“还原”等等;界面正中部分为图片显示部分。设计完成后运行的软件界面如下:451.模块设计以下介绍各个功能模块的功能与实现1.1图像的读取、保存和程序退出通过MenuEditor创建如下菜单,通过以下菜单来实现“载入图像”、“保存图像”、“退出”的功能。451.1.1载入图像利用MATLAB中“uigetfile”、“imr
4、ead”、“imshow”实现图像文件的读取与显示。functionInput_Callback(hObject,eventdata,handles)[filename,pathname]=uigetfile({'*.jpg';'*.bmp';'*.tif'},'选择图片');str=[pathnamefilename];globalS%设计一个全局变量S,保存初始图像路径,以便之后的还原操作S=str;A=imread(str);set(handles.axes1,'HandleVisibility','ON');axes(
5、handles.axes1);imshow(A);set(handles.axes1,'HandleVisibility','OFF');axes(handles.axes2);imshow(A);cla(handles.axes2);handles.img=A;guidata(hObject,handles);end程序关键部分:通过[filename,pathname]=uigetfile({'*.jpg';'*.bmp';'*.tif'},'选择图片')选择相应路径打开的图像;通过str=[pathnamefilenam
6、e];A=imread(str);读取选中的图像;最后,通过imshow(A)在显示区域上显示图像。451.1.1保存图像利用“uiputfile”、“imwrite”函数实现图像文件的保存。functionSave_Callback(hObject,eventdata,handles)[sfilename,sfilepath]=uiputfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'保存图像文件','untitled.jpg');if~isequal([sfilename,sfilepath],
7、[0,0])sfilefullname=[sfilepath,sfilename];imwrite(handles.img,sfilefullname);elsemsgbox('取消保存','保存失败');end程序关键部分:通过[sfilename,sfilepath]=uiputfile({'*.jpg';'*.bmp';'*.tif';'*.*'},'保存图像文件','untitled.jpg')选择图像文件保存的路径与格式;然后,通过sfilefullname=[sfilepath,sfilename];imwrite
8、(handles.img,sfilefullname);实现对图像的保存。1.1.2退出程序functionExit_Callback(hObject,eventdata,handles)clc;closeall;close(gcf);clear;1.2图像转化为灰度图像由于