www.gusucode.com > peizhun配准matlab程序源码 > peizhun配准matlab程序源码/OpenImage.m
function varargout = OpenImage(varargin) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton,'gui_OpeningFcn',@OpenImage_OpeningFcn, 'gui_OutputFcn',@OpenImage_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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function OpenImage_OpeningFcn(hObject,eventdata,handles,varargin) handles.output = hObject; guidata(hObject,handles); initial_dir = pwd; FileInformation = load_listbox(initial_dir,handles); handles.FileInformation = FileInformation; guidata(handles.figure1,handles); uiwait(handles.figure1); function varargout = OpenImage_OutputFcn(hObject,eventdata,handles) varargout{1} = handles; function listbox1_CreateFcn(hObject,eventdata,handles) if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function listbox1_Callbox(hObject,eventdata,handles) index_selected = get(handles.listbox1,'Value'); filename = handles.FileInformation.sorted_names{index_selected}; handles.FileInformation.filename = [pwd,'\',filename]; handles.FileInformation.name_disp = handles.FileInformation.sorted_names_disp{index_selected}; handles.FileInformation.imsize = handles.FileInformation.imsize_disp{index_selected}; if index-selected<=handles.FileInformation.cnPoint cd(handles.FileInformation.filename) FileInformation = load_listbox(pwd,handles); handles.FileInformation = FileInformation; handles.FileInformation.IsImage = 0; else handles.FileInformation.IsImage = 1; end guidata(handles.figure1,handles); uiresume(handles.figure1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function FileInformation = load_listbox(dir_path,handles) cd(dir_path) dir_struct = dir(dir_path) [sorted_names1,sorted_index1] = sortrows({dir_struct.name}'); k = max(sorted_index1); if k == 2 sorted_names{1}='.'; sorted_names{2}='..'; sorted_names_disp{1}='.'; sorted_names_disp{2}='..'; imsize_disp{1}='null'; imsize_disp{2}='null'; cnPoint=2; else sorted_names{1}='.'; sorted_names{2}='..'; sorted_names_disp{1}='.'; sorted_names_disp{2}='..'; imsize_disp{1}='null'; imsize_disp{2}='null'; cn=2; %%%%%%%%%%%%%%查找文件夹 for i = 1:k [path,name,ext,ver] = fileparts(sorted_names1{i}); switch ext case " cn = cn+1; cnarray(cn) = cn; sorted_names{cn} = name; sorted_names_disp{cn} = name; imsize_disp{cn} = 'null'; end end cnPoint = cn; %%%%%%%%%%%%%%%查找图片文件 for i = 1:k [path,name,ext,ver] = fileparts(sorted_names1{i}); switch ext case {'.bmp','.jpg','.jpeg','.tif','.png','.gif'} cn = cn+1; cnarray(cn) = cn; sorted_names{cn} = name; sorted_names_disp{cn} = name; temp = imread(name); [m,n] = size(temp); m=num2str(m); n=num2str(n); misize = [' ',m,'*',n]; name_disp = [name,imsize]; sorted_names_disp{cn} = name_disp; imsize_disp{cn} = imsize; end end end FileInformation.sorted_names = sorted_names; FileInformation.sorted_names_disp = sorted_names_disp; FileInformation.imsize_disp = imsize_disp; FileInformation.cnPoint = cnPoint; set(handles.listbox1,'String',sorted_names_disp,'Value',1) set(handles.text1,'String',pwd)