1、技术报告Y061044 朱常松一运行说明先将文件夹名为“程序文件”的文件夹,复制粘贴到MATLAB安装文件夹里的“work”文件夹里。然后打开MATLAB,在COMMAND HISTORY 窗口里,打开程序文件夹。找到“ZCS.M”文件,双击鼠标左键。程序开始运行。这时屏幕上出现一个界面。点击PICTURE INPUT 将集体照输入。再点击 TO FIND 下拉列表。任意选择一个人。最后点击右下角的 FIND按键。搜索结果会出现在右上角。二完整程序function varargout = zcs(varargin)gui_Singleton = 1;gui_State = struct(gui
2、_Name, mfilename, .gui_Singleton, gui_Singleton, .gui_OpeningFcn, zcs_OpeningFcn, .gui_OutputFcn, zcs_OutputFcn, .gui_LayoutFcn, , .gui_Callback, );if nargin endif nargoutvarargout1:nargout = gui_mainfcn(gui_State, varargin:);elsegui_mainfcn(gui_State, varargin:);endfunction zcs_OpeningFcn(hObject,
3、eventdata, handles, varargin)handles.output = hObject;guidata(hObject, handles);function varargout = zcs_OutputFcn(hObject, eventdata, handles)varargout1 = handles.output;function pushbutton5_Callback(hObject, eventdata, handles)axes(handles.axes2);cla;popup_sel_index = get(handles.popupmenu2, Value
4、);switch popup_sel_index %输入待查找人名的部分case 1zcs=imread(zcs.jpg);imshow(zcs);xuo=zcs;case 2xiao=imread(xiao.jpg);imshow(xiao);xuo=xiao;case 3liuo=imread(liuo.jpg);imshow(liuo);xuo=liuo;case 4qiano=imread(qiano.jpg);imshow(qiano);xuo=qiano;case 5lio=imread(lio.jpg);imshow(lio);xuo=lio;case 6liango=imrea
5、d(liango.jpg);imshow(liango);xuo=liango;endh=guidata(gcbo);allo=h.im1; %读入集体照all=(allo(:,:,1)+allo(:,:,2)+allo(:,:,3)/3;alls=size(all);ss=10; %设定粗化系数为10 ,for i=1:alls(1)/ssfor j=1:alls(2)/ssall2(i,j)=mean(mean(all(i*ss-ss+1:i*ss,j*ss-ss+1:j*ss);endendall2s=size(all2);xu=(xuo(:,:,1)+xuo(:,:,2)+xuo(:,
6、:,3)/3;xus=size(xu);xustep1=1:4:xus(1);xustep2=1:4:xus(2);for i=1:xus(1)/ssfor j=1:xus(2)/ssxu2(i,j)=mean(mean(xu(i*ss-ss+1:i*ss,j*ss-ss+1:j*ss);endendxu2s=size(xu2);k=0;for i=1:(all2s(1)-(xu2s(1)-1) %判断是否匹配for j=1:(all2s(2)-(xu2s(2)-1)if mean(mean(abs(all2(i:xu2s(1)+i-1,j:xu2s(2)+j-1,1)-xu2(:,:,1)7
7、k=1;break;endendif k=1allo(i*ss-ss+1:xus(1)+i*ss-ss,j*ss-ss+1:xus(2)+j*ss-ss,1)=160;break;endendaxes(handles.axes1);claimage(allo)function pushbutton4_Callback(hObject, eventdata, handles)h=guidata(gcbo);h.image_filename=1;h.image_pathname=1;filename, pathname = uigetfile( .*.jpg;*.tif;*.jpg;*.pcx;*
8、.png;*.hdf;*.xwd;*.ras;*.pbm;*.pgm;*.ppm;*.pnm, All MATLAB SUPPORTED IMAGE Files (*.jpg,*.tif,*.jpg,*.pcx,*.png,*.hdf,*.xwd,*.ras,*.pbm,.pgm,*.ppm,*.pnm) .,Pick a file); if filename=0h.image_filename=filename; h.image_pathname=pathname; image_1=imread(pathname filename); axes(h.axes1);imshow(image_1
9、);h.im1=image_1;guidata(gcbo,h);endfunction popupmenu2_Callback(hObject, eventdata, handles)function popupmenu2_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,BackgroundColor,white);elseset(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);endset(hObject, String, zhuchangsong, xiayinggao, liugang, qianlei, liqin,liangguoshan);function edit1_Callback(hObject, eventdata, handles)function edit1_CreateFcn(hObject, eventdata, handles)if ispcset(hObject,BackgroundColor,white);elseset(hObject,BackgroundColor,get(0,defaultUicontrolBackgroundColor);end三结果: