收藏 分销(赏)

数字图像处理MATLAB函数源代码.doc

上传人:可**** 文档编号:4196195 上传时间:2024-08-19 格式:DOC 页数:20 大小:121KB 下载积分:10 金币
下载 相关 举报
数字图像处理MATLAB函数源代码.doc_第1页
第1页 / 共20页
数字图像处理MATLAB函数源代码.doc_第2页
第2页 / 共20页


点击查看更多>>
资源描述
MATLAB函数源代码 function varargout = DIP(varargin) % DIP MATLAB code for DIP.fig % DIP, by itself, creates a new DIP or raises the existing % singleton*. % % Edit the above text to modify the response to help DIP % Last Modified by GUIDE v2.5 27-May-2012 11: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', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before DIP is made visible. function DIP_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to DIP (see VARARGIN) % Choose default command line output for DIP handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes DIP wait for user response (see UIRESUME) % 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); % --- Outputs from this function are returned to the command line. function varargout = DIP_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in file_open. function file_open_Callback(hObject, eventdata, handles) % hObject handle to file_open (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM %定义一个全局变量im [filename,pathname]= uigetfile({'*.bmp';'*.tif';'*.png';'*.jpg'},'select picture'); %选择图片路径 if isequal(filename,0) || isequal(pathname,0), return; end str=[pathname filename]; %合成路径+文件名 IM=imread(str); %读取图片 axes(handles.axes1); %使用第一个axes imshow(IM); %显示图片 %axes(handles.axes2); %cla reset; 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); % -------------------------------------------------------------------- function Menu1_Callback(hObject, eventdata, handles) % hObject handle to Menu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function Menu1_1_Callback(hObject, eventdata, handles) % hObject handle to Menu1_1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM %定义一个全局变量IM [filename,pathname]=uigetfile({'*.bmp';'*.tif';'*.png';'*.jpg'},'select picture'); %选择图片路径 if isequal(filename,0) || isequal(pathname,0), return; end str=[pathname filename]; %合成路径+文件名 IM=imread(str); %读取图片 axes(handles.axes1); %使用第一个axes imshow(IM); %显示图片 %axes(handles.axes2); %cla reset; 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); % -------------------------------------------------------------------- function Menu1_2_Callback(hObject, eventdata, handles) % hObject handle to Menu1_2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global BW %定义处理后的图片BW这个全局变量[filename,pathname,filterindex]=... uiputfile({'*.bmp';'*.tif';'*.png';'*.jpg'},'save picture');%存储图片路径 if filterindex==0 return %如果取消操作,返回 else str=[pathname filename]; %合成路径+文件名 axes(handles.axes2); %使用第二个axes imwrite(BW,str); %写入图片信息,即保存图片 end % -------------------------------------------------------------------- function Menu1_3_Callback(hObject, eventdata, handles) % hObject handle to Menu1_3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close(gcf) %关闭当前Figure窗口句柄 % -------------------------------------------------------------------- function Menu1_4_Callback(hObject, eventdata, handles) % hObject handle to Menu1_4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM; axes(handles.axes2); imshow(IM); [filename,pathname,filterindex]=... uiputfile({'*.bmp';'*.tif';'*.png';'*.jpg'},'save picture'); if filterindex==0 return else str=[pathname filename]; axes(handles.axes2); imwrite(IM,str); %写入图片信息,即保存图片 end % -------------------------------------------------------------------- function Menu2_Callback(hObject, eventdata, handles) % hObject handle to Menu4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function Menu2_1_Callback(hObject, eventdata, handles) % hObject handle to Menu2_1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function Menu2_1_1_Callback(hObject, eventdata, handles) % hObject handle to Menu2_1_1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM; global BW; BW=imresize(IM,0.3,'nearest'); axes(handles.axes2); imshow(BW,[]); % -------------------------------------------------------------------- function Menu2_1_2_Callback(hObject, eventdata, handles) % hObject handle to Menu2_1_2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM; global BW; BW=imresize(IM,0.1,'bilinear'); axes(handles.axes2); imshow(BW,[]); % -------------------------------------------------------------------- function Menu2_1_3_Callback(hObject, eventdata, handles) % hObject handle to Menu2_1_3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM; global BW; BW=imresize(IM,0.1,'bicubic'); axes(handles.axes2); imshow(BW,[]); % -------------------------------------------------------------------- function Menu2_2_Callback(hObject, eventdata, handles) % hObject handle to Menu2_2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM; global BW; H=rotate; % -------------------------------------------------------------------- function Menu2_3_Callback(hObject, eventdata, handles) % hObject handle to Menu2_3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM; global BW; 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!'); % -------------------------------------------------------------------- function Menu2_4_Callback(hObject, eventdata, handles) % hObject handle to Menu2_4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function Menu2_4_1_Callback(hObject, eventdata, handles) % hObject handle to Menu2_4_1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM; global BW; snoise = 0.15*randn(size(IM)); BW = imadd(IM, im2uint8(snoise)); axes(handles.axes2); imshow(BW); % -------------------------------------------------------------------- function Menu2_4_2_Callback(hObject, eventdata, handles) % hObject handle to Menu2_4_2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM; global BW; BW = imnoise(IM,'salt & pepper',0.05); axes(handles.axes2); imshow(BW); % -------------------------------------------------------------------- function Menu2_5_Callback(hObject, eventdata, handles) % hObject handle to Menu2_5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM; global BW; len = 25; theta = 35; PSF = fspecial('motion', len, theta); BW = imfilter(IM, PSF, 'circular', 'conv'); axes(handles.axes2); imshow(BW); % -------------------------------------------------------------------- function Menu2_6_Callback(hObject, eventdata, handles) % hObject handle to Menu2_6 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(handles.main_txt, 'FontName', '宋体' ); set(handles.main_txt, 'String', '请用鼠标选择任意几个像素点后按回车以显示所选像素点的数据值!'); vals=impixel; set(handles.main_txt, 'FontName', 'Calibri'); set(handles.main_txt, 'String', 'Welcome!'); % -------------------------------------------------------------------- function Menu2_7_Callback(hObject, eventdata, handles) % hObject handle to Menu2_7 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) 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!'); % -------------------------------------------------------------------- function Menu2_8_Callback(hObject, eventdata, handles) % hObject handle to Menu2_8 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM; [counts,x]=imhist(IM,64); axes(handles.axes2); stem(x,counts,'k-','k.'); % -------------------------------------------------------------------- function Menu4_Callback(hObject, eventdata, handles) % hObject handle to Menu4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function Menu4_1_Callback(hObject, eventdata, handles) % hObject handle to Menu4_1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM; global BW; BW = imadjust(IM); axes(handles.axes2); imshow(BW); % -------------------------------------------------------------------- function Menu4_2_Callback(hObject, eventdata, handles) % hObject handle to Menu4_2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function Menu4_2_1_Callback(hObject, eventdata, handles) % hObject handle to Menu4_2_1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM; global BW; BW = histeq(IM); axes(handles.axes2); imshow(BW); figure(1); subplot(1,2,1); imhist(IM);title('原始图像直方图'); subplot(1,2,2); imhist(BW); title('直方图均衡化后图像直方图'); % -------------------------------------------------------------------- function Menu4_2_2_Callback(hObject, eventdata, handles) % hObject handle to Menu4_2_2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM; global BW; 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('直方图规定化后图像直方图'); % -------------------------------------------------------------------- function Menu4_3_Callback(hObject, eventdata, handles) % hObject handle to Menu4_3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % -------------------------------------------------------------------- function Menu4_3_1_Callback(hObject, eventdata, handles) % hObject handle to Menu4_3_1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global IM; global BW; h = [1 1 1;1 0 1;1 1 1];% 8邻域平均滤波 h = h/8; BW = conv2(IM, h); axes(handles.axes2); imshow(BW); % -------------------------------------------------------------------- function Menu4_3_2_Callback(hObject, eve
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服