📄 interface.m
字号:
set(handles.save_but,'visible','on')set(handles.fr_savefus,'visible','on')guidata(h,handles) % --------------------------------------------------------------------% Fusion Button : Callback% --------------------------------------------------------------------function varargout = pushbutton_Fusion_Callback(h, eventdata, handles, varargin)set(handles.fig_but,'visible','off')set(handles.save_but,'visible','off')set(handles.fr_savefus,'visible','off')set(handles.text_work,'visible','on')pause(.01)if (~isfield(handles,'im1')|~isfield(handles,'im2')) % no enough input images error errordlg('Please Select Images To Fusion','FUSION ERROR','CREATEMODE')else im1=handles.im1; im2=handles.im2; if any (size(im1) ~= size(im2)) % no same size error errordlg('Input Images must be same size','FUSION ERROR','CREATEMODE') else if (~isfield(handles,'opfusmet')) % no fusion method error errordlg('Please Select Fusion Method','FUSION ERROR','CREATEMODE') else switch handles.opfusmet case 1 % no fusion method error errordlg('Please Select Fusion Method','FUSION ERROR','CREATEMODE') case 2 %wavelet fusion esc=handles.opwavesc; mask=handles.opmask; wavcoef=handles.opwavcoef; try handles.fusion=wavelet(im1,im2,esc,mask,wavcoef); Fus_Image_Callback(h, eventdata, handles, varargin); handles.title=sprintf(... 'Wavelet Fusion , Num. of scales = %d , Coef = %s , Mask = %d',... esc,wavcoef,mask); catch errordlg(lasterr,'FUSION ERROR','CREATEMODE') end case 3 %CEMIF fusion back=handles.opcembac; siz=handles.opcemsiz; mask=handles.opmask; try handles.fusion=cemif(im1,im2,back,siz); Fus_Image_Callback(h, eventdata, handles, varargin); handles.title=sprintf(... 'CEMIF Fusion , Background = %d , Average Size = %d',back,siz); catch errordlg(lasterr,'FUSION ERROR','CREATEMODE') end case 4 %Spacial Frequency fusion bs=handles.opsfbs; th=handles.opsfth; mask=handles.opmask; try handles.fusion=mfocus(im1,im2,bs,th,mask); Fus_Image_Callback(h, eventdata, handles, varargin); handles.title=sprintf('SF Fusion , Blocksize = %d , Threshold = %1.2f',... handles.opsfbs,handles.opsfth); catch errordlg(lasterr,'FUSION ERROR','CREATEMODE') end case 5 %Laplacian Pyramid fusion esc=handles.opwavesc; mask=handles.opmask; try handles.fusion=lap_fus(im1,im2,esc,mask); Fus_Image_Callback(h, eventdata, handles, varargin); handles.title=sprintf('Laplacian Fusion , Num. of scales = %d',... handles.opwavesc); catch errordlg(lasterr,'FUSION ERROR','CREATEMODE') end end end endendset(handles.text_work,'visible','off')guidata(h,handles)% --------------------------------------------------------------------% Draw Image 1 : Callback% --------------------------------------------------------------------function varargout = Image1_Callback(h, eventdata, handles, varargin)try pathname = handles.pathname; [filename, pathname] = uigetfile([pathname '*.*'], 'Load input image A'); if filename~=0 M1=0; try [M1,ma] = imread([pathname, filename]); if isind(M1) & ~isempty(ma) M1 = 256*double(ind2gray(M1,ma)); else if isgray(M1) M1 = double(M1); else M1 = double(rgb2gray(M1)); end; end; catch end if M1==0 M1=readimg([pathname, filename]); end handles.im1=M1; handles.pathname=pathname; set(gcbf,'CurrentAxes',findobj(gcbf,'Tag','Axes_im1')) image(M1); axis image colormap(gray(256)); set(findobj(gcbf,'Tag','Axes_im1'),'Xticklabel',[],'Yticklabel',[]) set(handles.vie_im1,'visible','on') set(handles.fr_viewim1,'visible','on') guidata(h,handles) endcatch errordlg(lasterr,'LOAD ERROR','CREATEMODE')end % --------------------------------------------------------------------% Select Image 1 Button : Callback% --------------------------------------------------------------------function varargout = pushbutton_Im1_Callback(h, eventdata, handles, varargin)Image1_Callback(h, eventdata, handles, varargin);% --------------------------------------------------------------------% Draw Image 2 : Callback% --------------------------------------------------------------------function varargout = Image2_Callback(h, eventdata, handles, varargin)try pathname = handles.pathname; [filename, pathname] = uigetfile([pathname '*.*'], 'Load input image B'); if filename~=0 M1=0; try [M1,ma] = imread([pathname, filename]); if isind(M1) & ~isempty(ma) M1 = 256*double(ind2gray(M1,ma)); else if isgray(M1) M1 = double(M1); else M1 = double(rgb2gray(M1)); end; end; catch end if M1==0 M1=readimg([pathname, filename]); end handles.im2=M1; handles.pathname=pathname; set(gcbf,'CurrentAxes',findobj(gcbf,'Tag','Axes_im2')) image(M1); axis image colormap(gray(256)); set(findobj(gcbf,'Tag','Axes_im2'),'Xticklabel',[],'Yticklabel',[]) set(handles.vie_im2,'visible','on') set(handles.fr_viewim2,'visible','on') guidata(h,handles) endcatch errordlg(lasterr,'LOAD ERROR','CREATEMODE')end % --------------------------------------------------------------------% Select Image 2 Button : Callback% --------------------------------------------------------------------function varargout = pushbutton_Im2_Callback(h, eventdata, handles, varargin)Image2_Callback(h, eventdata, handles, varargin);% --------------------------------------------------------------------% Save Fusion Image : Callback% --------------------------------------------------------------------function varargout = Save_Fusion(h, eventdata, handles, varargin)pathname = handles.pathname;[filename, pathname] = uiputfile([pathname '*.*'], 'Save Fusion Image');file=sprintf('%s%s',pathname,filename);imwrite(uint8(handles.fusion),file);guidata(h,handles) % --------------------------------------------------------------------% Reset : Callback% --------------------------------------------------------------------function varargout = Reset_Callback(h, eventdata, handles, varargin)close allinterface% --------------------------------------------------------------------% View Fusion Button : Callback% --------------------------------------------------------------------function varargout = pushbutton_New_Callback(h, eventdata, handles, varargin)figure,image(handles.fusion),colormap(gray(256))title(handles.title);axis image% --------------------------------------------------------------------% View Image 1 Button : Callback% --------------------------------------------------------------------function varargout = pushbutton_viewIm1_Callback(h, eventdata, handles, varargin)figure,image(handles.im1),colormap(gray(256))title('Input Image 1')axis image% --------------------------------------------------------------------% View Image 2 Button : Callback% --------------------------------------------------------------------function varargout = pushbutton_viewIm2_Callback(h, eventdata, handles, varargin)figure,image(handles.im2),colormap(gray(256))title('Input Image 2')axis image
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -