基于MATLAB语言的数字图像处理实验(GUI)的设计与开发.docx

上传人:lao****ou 文档编号:137922 上传时间:2023-04-11 格式:DOCX 页数:56 大小:3.44MB
下载 相关 举报
基于MATLAB语言的数字图像处理实验(GUI)的设计与开发.docx_第1页
第1页 / 共56页
基于MATLAB语言的数字图像处理实验(GUI)的设计与开发.docx_第2页
第2页 / 共56页
基于MATLAB语言的数字图像处理实验(GUI)的设计与开发.docx_第3页
第3页 / 共56页
基于MATLAB语言的数字图像处理实验(GUI)的设计与开发.docx_第4页
第4页 / 共56页
基于MATLAB语言的数字图像处理实验(GUI)的设计与开发.docx_第5页
第5页 / 共56页
亲,该文档总共56页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于MATLAB语言的数字图像处理实验(GUI)的设计与开发.docx》由会员分享,可在线阅读,更多相关《基于MATLAB语言的数字图像处理实验(GUI)的设计与开发.docx(56页珍藏版)》请在第一文库网上搜索。

1、数字图像处理实验报告基于MATLAB语言的图像处理软件名级号业姓班学专目录1. 设计目的22. 设计要求23. 总体设计24. 模块设计34.1 图像的读取、保存和程序退出34.2 图像转化为灰度图像54.3 底片处理(反色)64.4 截图64.5 亮度和对比度度调节64.6 图像的翻转与旋转74.7 7添加噪声94.8 平滑和锐化104.9 直方图均衡化处理114.10 图像的腐蚀和膨胀124.11 11边缘检测134.12 还原和撤销165. 结果分析175.1 转为灰度图像175.2 底片处理175.3 截图175.4 亮度和对比度调节185.5 图像翻转与旋转195.6 添加噪声、平滑

2、和锐化205.7 直方图均衡化235.8 8腐蚀和膨胀245.9 9边缘检测256. 心得体会267. 附录代码271 .设计目的利用MATLAB的GUI程序设计一个简单实用的图像处理程序。该程序应具备图像处理的常用功能,以满足要求。2 .设计要求设计程序有以下基本功能:1)图像的读取和保存2)图像转化为灰度图像3)底片处理(反色)4)截图5)亮度和对比度度调节6)图像的翻转与旋转7)添加噪声8)平滑和锐化9)直方图均衡化处理10)图像的腐蚀和膨胀11)边缘检测3 .总体设计 B.8Phyr.gB S S软件的总体设计界面布局如上图所示,主要分为2个区域:显示区域与操作区域。显示区域:显示原图

3、像,以及效果图,即处理前与处理后的图像。操作区域:通过功能键实现对图像的各种处理。在图中可见,界面左边和下方为一系列功能按键如“转为灰度图像”、“撤销”、“还原”等等;界面正中部分为图片显示部分。设计完成后运行的软件界面如下:数字图像处理实验芋*与也化ftit 8bd子专H3芦I百|RMM子4.模块设计以下介绍各个功能模块的功能与实现4.1图像的读取、保存和程序退出通过 Menu Ed i tor创建如下菜单,通过以下菜单来实现“载入图像”、“保存图像、退出”的功能。Menu Editor囱融 - T t,X日向菜单,占栽入图像,三保存图像L国退出4.1.1载入利用MATLAB中“uigetf

4、 i Ie、imread、imshow”实现图像文件的读取与显示。Q B.zephyrf i I ename, pathname =u i getf i le(*. jpg ; bmp* ; tif选择图片);str=pathname fi I ename;global S %设计一个全局变量S,保存初始图像路径,以便之后的还原操作S二str;A=imread (str);set (hand Ies.axesl, Hand I eVisibiIity, ON);axes (hand Ies.axesl);imshow (A);set (hand Ies.axesl, HandleVi s i

5、bi Iity*, OFF*);axes (hand I es. axes2);imshow (A);c I a (hand I es. axes2);handles. img=A;guidata (hObject.hand Ies):end程序关键部分:通过f i I ename, pathname =u i getf i I e ( *. jpg ; *. bmp ; t i f,选择图片)选择相应路径打开的图像;通过 str =pathname filename; A=imread (str);读取选中的图像;最后,通过imshow(A)在显示区域上显示图像。4 . 1.2保存图像imw

6、rite函数实现图像文件的保存。利用uiputfile”、S B.zephyr4共存图像文件保存在a):,MATLAB FILEZI名称桌面没有与搜索条件匹倒的项.function Save_CalI back(hObject, eventdata, hand Ies)sf i I ename, sf i I epath =ui putf i le(*. jpg* ;r*. bmp* ;r *. t i f1 ;r *. *), 保存图 像文件untitled, jpg);i f i sequaI (sf i I ename, sf i I epath, 0,0)sfi lefullname=

7、sfi I epath, sfi I ename;i mwr i te (hand I es. i mg, sf i I efu I I name);e I semsgbox (取消保存,保存失败);end程序关键部分:通过sf i I ename , sf i I epath =u i putf i I e ( *. jpg ; *. bmp t if保存图像文件untitled, jpg)选择图像文件保存的路径与格式;然后,通过 sf i leful lname=sf i I epath , sf i I ename;imwr i te (hand les. img, sf i I efu

8、 I I name);实现对图像的保存。4.1.3退出程序function Ex i t_CaI I back (hOb ject, eventdata, handles)cic;close all;close (gcf);clear;4 2图像转化为灰度图像由于在MATLAB中较多的图像处理函数支持对灰度图像进行处理,故对图像进行灰度转化十分必要。可利用rgb2gray (X)函数对其他图像进行灰度图像的转化。实现程序段如下:funct i on to_gray_CaI I back (hObjectr eventdata, hand Ies)globaI T%设计一个全局变量T,保存初始图

9、像路径,以便之后的撤销操作axes (hand I es. axes2);T=handles. img;img=handles. img;i f nume I (size(i mg) 2C=rgb2gray(img);elseC= i mg;endimshow(C);handles. img=C;guidata (hObjectF hand Ies);4.3 底片处理(反色)将图像变为底片并显示。实现程序段如下:funct ion negat i ve_CaI I back (hObject, eventdata, hand Ies)globaI Taxes (hand I es. axes2

10、);T=handles. img;l = imcomplement(handles, img);imshow(I);handles. img=l;guidata(hObjectF hand les);4.4 截图通过imcrop(x)函数来实现对图片某一区域的截取,截取的图片在右框中显示。结合“保存为”,可把截图处理后的图片保存在指定路径。实现程序段如下:funct i on Cut_CaI I back (hObjectF eventdata, hand les)globaI Taxes(hand Ies. axes2);T=handles. img;x=imcrop (hand les.

11、img);舟截图imshow(x);handles. img=x;gu idata (hObject,hand Ies);4.5 亮度和对比度度调节4.6 5.1亮度调节实现程序段如下:funct ion I ight_CaI I back(hObject, eventdata, hand Ies)global Taxes (hand Ies.axes2);T=handles. img;prompt= ,调整倍数(0 J:明 1,):暗);defans= 1;p=i nputdIg (prompt, 1 i nput,1,defans);p1=str2num(p(1);y=i mad just

12、 (handles, img, . , p1) ;%亮度调节imshow(y);handles. img=y;gu i data (hObject. hand Ies);4. 5.2对比度调节实现程序段如下:funct i on contrast_CaI I back (hObject, eventdata, hand Ies)globaI Tstr=get (handIes.contrastl, 1 value1);axes (hand I es. axes2);T=handles. img;prompt=(请输入参数:,1 ;defans=( 1);p=i nputdIg (prompt,

13、 1 i nput, 1, defans);p1=str2num (p1);switch strcase 1f=immuItiply(handles. img, p1);imshow(f);handles. img=f;guidata (hObjectF hand Ies);case 2f=imdivide(handles. img,p1);imshow(f);handles. img=f;guidata (hObjectF hand Ies);end4.6图像的翻转与旋转4.6.1 翻转实现程序段如下:funct i on turn CaI I back (hObject, eventdat

14、a, hand Ies)global Tstr=get (hand Ies. fanzhuan, 1 value*);axes (hand Ies.axes2);l=handles. img;if numel(size(I)2switch strcase 1T=handles. img;b=l (:, 1);c=l (:, 2);d=l(:, :,3);11(:, :,1)=fliplr(b);11(:,2)=f I ipl r (c);11(:, :f3)=fliplr(d);case 2T=handles. img;b=I (:, :,1);c=l 2);d=l(:, :,3);11(:, :,1)=flipud(b);11(:, :,2)=flipud(c);11(:, :,3)=flipud(d);endimshow(l1);hand Ies. img=l1;gu i data (hObject,hand Ies);e I seswitch strcase 1T二handles, i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 汇报材料

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服