数字图像处理MATLAB函数源代码.docx
《数字图像处理MATLAB函数源代码.docx》由会员分享,可在线阅读,更多相关《数字图像处理MATLAB函数源代码.docx(21页珍藏版)》请在冰豆网上搜索。
数字图像处理MATLAB函数源代码
MATLAB函数源代码
functionvarargout=DIP(varargin)
%DIPMATLABcodeforDIP.fig
%DIP,byitself,createsanewDIPorraisestheexisting
%singleton*.
%
%EdittheabovetexttomodifytheresponsetohelpDIP
%LastModifiedbyGUIDEv2.527-May-201211:
43:
05
gui_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});
end
ifnargout
[varargout{1:
nargout}]=gui_mainfcn(gui_State,varargin{:
});
else
gui_mainfcn(gui_State,varargin{:
});
end
%Endinitializationcode-DONOTEDIT
%---ExecutesjustbeforeDIPismadevisible.
functionDIP_OpeningFcn(hObject,eventdata,handles,varargin)
%Thisfunctionhasnooutputargs,seeOutputFcn.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%varargincommandlineargumentstoDIP(seeVARARGIN)
%ChoosedefaultcommandlineoutputforDIP
handles.output=hObject;
%Updatehandlesstructure
guidata(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)
%Getdefaultcommandlineoutputfromhandlesstructure
varargout{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;
end
str=[pathnamefilename];%合成路径+文件名
IM=imread(str);%读取图片
axes(handles.axes1);%使用第一个axes
imshow(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;
end
str=[pathnamefilename];%合成路径+文件名
IM=imread(str);%读取图片
axes(handles.axes1);%使用第一个axes
imshow(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==0
return%如果取消操作,返回
else
str=[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==0
return
else
str=[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-tob