




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE1-MATLAB函数源代码functionvarargout=DIP(varargin)%DIPMATLABcodeforDIP.fig%DIP,byitself,createsanewDIPorraisestheexisting%singleton*.%%EdittheabovetexttomodifytheresponsetohelpDIP%LastModifiedbyGUIDEv2.527-May-201211:43:05gui_Singleton=1;gui_State=struct('gui_Name',mfilename,...'gui_Singleton',gui_Singleton,...'gui_OpeningFcn',@DIP_OpeningFcn,...'gui_OutputFcn',@DIP_OutputFcn,...'gui_LayoutFcn',[],...'gui_Callback',[]);ifnargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endifnargout[varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:});elsegui_mainfcn(gui_State,varargin{:});end%Endinitializationcode-DONOTEDIT%ExecutesjustbeforeDIPismadevisible.functionDIP_OpeningFcn(hObject,eventdata,handles,varargin)%Thisfunctionhasnooutputargs,seeOutputFcn.%hObjecthandletofigure%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%varargincommandlineargumentstoDIP(seeVARARGIN)%ChoosedefaultcommandlineoutputforDIPhandles.output=hObject;%Updatehandlesstructureguidata(hObject,handles);%UIWAITmakesDIPwaitforuserresponse(seeUIRESUME)%uiwait(handles.DIP);set(handles.Menu2,'Enable','off');%在打开图片前其他下拉菜单不可用set(handles.Menu3,'Enable','off');set(handles.Menu4,'Enable','off');set(handles.Menu5,'Enable','off');set(handles.Menu6,'Enable','off');set(handles.Menu7,'Enable','off');set(handles.Menu8,'Enable','off');set(handles.Menu9,'Enable','off');setappdata(handles.DIP,'IM',0);%Outputsfromthisfunctionarereturnedtothecommandline.functionvarargout=DIP_OutputFcn(hObject,eventdata,handles)%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);%hObjecthandletofigure%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Getdefaultcommandlineoutputfromhandlesstructurevarargout{1}=handles.output;%Executesonbuttonpressinfile_open.functionfile_open_Callback(hObject,eventdata,handles)%hObjecthandletofile_open(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM%定义一个全局变量im[filename,pathname]=uigetfile({'*.bmp';'*.tif';'*.png';'*.jpg'},'selectpicture');%选择图片路径ifisequal(filename,0)||isequal(pathname,0),return;endstr=[pathnamefilename];%合成路径+文件名IM=imread(str);%读取图片axes(handles.axes1);%使用第一个axesimshow(IM);%显示图片%axes(handles.axes2);%clareset;set(handles.Menu2,'Enable','on');%在打开图片后其他下拉菜单可用set(handles.Menu3,'Enable','on');set(handles.Menu4,'Enable','on');set(handles.Menu5,'Enable','on');set(handles.Menu6,'Enable','on');set(handles.Menu7,'Enable','on');set(handles.Menu8,'Enable','on');set(handles.Menu9,'Enable','on');setappdata(handles.DIP,'IM',IM);%functionMenu1_Callback(hObject,eventdata,handles)%hObjecthandletoMenu1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%functionMenu1_1_Callback(hObject,eventdata,handles)%hObjecthandletoMenu1_1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM%定义一个全局变量IM[filename,pathname]=uigetfile({'*.bmp';'*.tif';'*.png';'*.jpg'},'selectpicture');%选择图片路径ifisequal(filename,0)||isequal(pathname,0),return;endstr=[pathnamefilename];%合成路径+文件名IM=imread(str);%读取图片axes(handles.axes1);%使用第一个axesimshow(IM);%显示图片%axes(handles.axes2);%clareset;set(handles.Menu2,'Enable','on');%在打开图片后其他下拉菜单可用set(handles.Menu3,'Enable','on');set(handles.Menu4,'Enable','on');set(handles.Menu5,'Enable','on');set(handles.Menu6,'Enable','on');set(handles.Menu7,'Enable','on');set(handles.Menu8,'Enable','on');set(handles.Menu9,'Enable','on');setappdata(handles.DIP,'IM',IM);%functionMenu1_2_Callback(hObject,eventdata,handles)%hObjecthandletoMenu1_2(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalBW%定义处理后的图片BW这个全局变量[filename,pathname,filterindex]=...uiputfile({'*.bmp';'*.tif';'*.png';'*.jpg'},'savepicture');%存储图片路径iffilterindex==0return%如果取消操作,返回elsestr=[pathnamefilename];%合成路径+文件名axes(handles.axes2);%使用第二个axesimwrite(BW,str);%写入图片信息,即保存图片end%functionMenu1_3_Callback(hObject,eventdata,handles)%hObjecthandletoMenu1_3(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)close(gcf)%关闭当前Figure窗口句柄%functionMenu1_4_Callback(hObject,eventdata,handles)%hObjecthandletoMenu1_4(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;axes(handles.axes2);imshow(IM);[filename,pathname,filterindex]=...uiputfile({'*.bmp';'*.tif';'*.png';'*.jpg'},'savepicture');iffilterindex==0returnelsestr=[pathnamefilename];axes(handles.axes2);imwrite(IM,str);%写入图片信息,即保存图片end%functionMenu2_Callback(hObject,eventdata,handles)%hObjecthandletoMenu4(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%functionMenu2_1_Callback(hObject,eventdata,handles)%hObjecthandletoMenu2_1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%functionMenu2_1_1_Callback(hObject,eventdata,handles)%hObjecthandletoMenu2_1_1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;BW=imresize(IM,0.3,'nearest');axes(handles.axes2);imshow(BW,[]);%functionMenu2_1_2_Callback(hObject,eventdata,handles)%hObjecthandletoMenu2_1_2(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;BW=imresize(IM,0.1,'bilinear');axes(handles.axes2);imshow(BW,[]);%functionMenu2_1_3_Callback(hObject,eventdata,handles)%hObjecthandletoMenu2_1_3(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;BW=imresize(IM,0.1,'bicubic');axes(handles.axes2);imshow(BW,[]);%functionMenu2_2_Callback(hObject,eventdata,handles)%hObjecthandletoMenu2_2(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;H=rotate;%functionMenu2_3_Callback(hObject,eventdata,handles)%hObjecthandletoMenu2_3(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;set(handles.main_txt,'FontName','宋体');set(handles.main_txt,'String','请选择要裁剪的局域,并双击选定区域以显示!');waitforbuttonpress;BW=imcrop(IM);axes(handles.axes2);imshow(BW);set(handles.main_txt,'FontName','Calibri');set(handles.main_txt,'String','Welcome!');%functionMenu2_4_Callback(hObject,eventdata,handles)%hObjecthandletoMenu2_4(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%functionMenu2_4_1_Callback(hObject,eventdata,handles)%hObjecthandletoMenu2_4_1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;snoise=0.15*randn(size(IM));BW=imadd(IM,im2uint8(snoise));axes(handles.axes2);imshow(BW);%functionMenu2_4_2_Callback(hObject,eventdata,handles)%hObjecthandletoMenu2_4_2(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;BW=imnoise(IM,'salt&pepper',0.05);axes(handles.axes2);imshow(BW);%functionMenu2_5_Callback(hObject,eventdata,handles)%hObjecthandletoMenu2_5(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;len=25;theta=35;PSF=fspecial('motion',len,theta);BW=imfilter(IM,PSF,'circular','conv');axes(handles.axes2);imshow(BW);%functionMenu2_6_Callback(hObject,eventdata,handles)%hObjecthandletoMenu2_6(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)set(handles.main_txt,'FontName','宋体');set(handles.main_txt,'String','请用鼠标选择任意几个像素点后按回车以显示所选像素点的数据值!');vals=impixel;set(handles.main_txt,'FontName','Calibri');set(handles.main_txt,'String','Welcome!');%functionMenu2_7_Callback(hObject,eventdata,handles)%hObjecthandletoMenu2_7(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)set(handles.main_txt,'FontName','宋体');set(handles.main_txt,'String','请用鼠标选择一线段后按回车以显示轨迹强度图!');axes(handles.axes1);improfile;%c=improfile;%axes(handles.axes2);%imshow(c);set(handles.main_txt,'FontName','Calibri');set(handles.main_txt,'String','Welcome!');%functionMenu2_8_Callback(hObject,eventdata,handles)%hObjecthandletoMenu2_8(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;[counts,x]=imhist(IM,64);axes(handles.axes2);stem(x,counts,'k-','k.');%functionMenu4_Callback(hObject,eventdata,handles)%hObjecthandletoMenu4(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%functionMenu4_1_Callback(hObject,eventdata,handles)%hObjecthandletoMenu4_1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;BW=imadjust(IM);axes(handles.axes2);imshow(BW);%functionMenu4_2_Callback(hObject,eventdata,handles)%hObjecthandletoMenu4_2(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%functionMenu4_2_1_Callback(hObject,eventdata,handles)%hObjecthandletoMenu4_2_1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;BW=histeq(IM);axes(handles.axes2);imshow(BW);figure(1);subplot(1,2,1);imhist(IM);title('原始图像直方图');subplot(1,2,2);imhist(BW);title('直方图均衡化后图像直方图');%functionMenu4_2_2_Callback(hObject,eventdata,handles)%hObjecthandletoMenu4_2_2(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;hgram=ones(1,256);BW=histeq(IM,hgram);axes(handles.axes2);imshow(BW);figure(2);subplot(1,2,1);imhist(IM);title('原始图像直方图');subplot(1,2,2);imhist(BW);title('直方图规定化后图像直方图');%functionMenu4_3_Callback(hObject,eventdata,handles)%hObjecthandletoMenu4_3(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%functionMenu4_3_1_Callback(hObject,eventdata,handles)%hObjecthandletoMenu4_3_1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;h=[111;101;111];%8邻域平均滤波h=h/8;BW=conv2(IM,h);axes(handles.axes2);imshow(BW);%functionMenu4_3_2_Callback(hObject,eventdata,handles)%hObjecthandletoMenu4_3_2(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;BW=medfilt2(IM);%用于3*3滤波窗口对图像进行中值滤波处理%若用[m,n],K=medfilt2(IM,[m,n])axes(handles.axes2);imshow(BW);%functionMenu4_3_3_Callback(hObject,eventdata,handles)%hObjecthandletoMenu4_3_3(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;[f1,f2]=freqspace(size(IM),'meshgrid');生成频率序列矩阵Hd=ones(size(IM));%构造滤波器大小r=sqrt(f1.^2+f2.^2);%构造滤波器决策函数Hd(r>0.5)=0;%构造滤波器,半径r>0.5Y=fft2(double(IM));%对I进行傅里叶变换Y=fftshift(Y);%频谱平移Ya=Y.*Hd;%滤波Ya=ifftshift(Ya);%反变换BW=ifft2(Ya);axes(handles.axes2);imshow(uint8(BW));%functionMenu4_4_Callback(hObject,eventdata,handles)%hObjecthandletoMenu4_4(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%functionMenu4_4_1_Callback(hObject,eventdata,handles)%hObjecthandletoMenu4_4_1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;h=[-1,-1,-1;-1,9,-1;-1,-1,-1];%八领域BW=imfilter(IM,h);axes(handles.axes2);imshow(uint8(BW));%functionMenu4_4_2_Callback(hObject,eventdata,handles)%hObjecthandletoMenu4_4_2(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;[f1,f2]=freqspace(size(IM),'meshgrid');%生成频率序列矩阵Hd=ones(size(IM));%构造滤波器大小r=sqrt(f1.^2+f2.^2);%构造滤波器决策函数Hd(r<0.1)=0;%构造滤波器,半径r<0.1Y=fft2(double(IM));%对I进行傅里叶变换Y=fftshift(Y);%频谱平移Ya=Y.*Hd;%滤波Ya=ifftshift(Ya);%反变换BW=ifft2(Ya);axes(handles.axes2);imshow(uint8(BW));%functionMenu5_3_1_Callback(hObject,eventdata,handles)%hObjecthandletoMenu5_3_1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;BW=edge(IM,'roberts');axes(handles.axes2);imshow(BW);%functionMenu5_3_2_Callback(hObject,eventdata,handles)%hObjecthandletoMenu5_3_2(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;BW=edge(IM,'sobel');axes(handles.axes2);imshow(BW);%functionMenu5_3_3_Callback(hObject,eventdata,handles)%hObjecthandletoMenu5_3_3(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;BW=edge(IM,'prewitt');axes(handles.axes2);imshow(BW);%functionMenu5_3_4_Callback(hObject,eventdata,handles)%hObjecthandletoMenu5_3_4(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;BW=edge(IM,'canny');axes(handles.axes2);imshow(BW);%functionMenu5_3_5_Callback(hObject,eventdata,handles)%hObjecthandletoMenu5_3_5(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalIM;globalBW;BW=edge(IM,'zerocross');axes(handles.axes2);imshow(BW);%functionMenu5_4_Callback(hObject,eventdata,handles)%hObjecthandletoMenu5_4(seeGCBO)%eventdatareserved-tobe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度证件外借风险评估与管理合同
- 洗衣店装修简易协议
- 二零二五年度商场家居用品柜台租赁管理合同
- 2025年度建筑工程施工环境保护责任协议书
- 2025年度供应链物流保密协议合同
- 文化产业借款融资居间合同
- 2025年度农村土地承包经营权流转及农业产业结构调整合作合同
- 2025年度企业兼职市场营销人员劳务合同模板
- 2025年度房产赠与资产重组合同
- 2025年度人工智能系统维护与数据安全合同
- 人教版初中历史与社会七年级下册 6.3.3向西开放的重要门户-乌鲁木齐 说课稿
- 综合材料绘画课程设计
- 数学史简介课件
- 八年级 下册《黄河两岸的歌(1)》课件
- 春季安全教育培训课件
- T-CIAPS 0035-2024 储能电池液冷散热器
- 《ZN真空断路器》课件
- 2024年低压电工特种作业证考试题库模拟考试及答案
- 《山东修缮交底培训》课件
- 2024.8.1十七个岗位安全操作规程手册(值得借鉴)
- 缺血性心脏病麻醉
评论
0/150
提交评论