根据matlab的人脸识别源代码.docx
- 文档编号:24387308
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:10
- 大小:16.29KB
根据matlab的人脸识别源代码.docx
《根据matlab的人脸识别源代码.docx》由会员分享,可在线阅读,更多相关《根据matlab的人脸识别源代码.docx(10页珍藏版)》请在冰豆网上搜索。
根据matlab的人脸识别源代码
functionvarargout=FR_Processed_histogram(varargin)
%这种算法是基于直方图处理的方法
%Thehistogramofimageiscalculatedandthenbinformationisdoneonthe
%basisofmeanofsuccessivegraylevelsfrequencies.Thetrainingisdoneonoddimagesof40subjects(200imagesoutof400images)
%Theresultsoftheimplementedalgorithmis99.75(recognitionfailsonimagenumber4ofsubject17)
gui_Singleton=1;
gui_State=struct('gui_Name',mfilename,...
'gui_Singleton',gui_Singleton,...
'gui_OpeningFcn',@FR_Processed_histogram_OpeningFcn,...
'gui_OutputFcn',@FR_Processed_histogram_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
%--------------------------------------------------------------------------
%---ExecutesjustbeforeFR_Processed_histogramismadevisible.
functionFR_Processed_histogram_OpeningFcn(hObject,eventdata,handles,varargin)
%Thisfunctionhasnooutputargs,seeOutputFcn.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%varargincommandlineargumentstoFR_Processed_histogram(seeVARARGIN)
%ChoosedefaultcommandlineoutputforFR_Processed_histogram
handles.output=hObject;
%Updatehandlesstructure
guidata(hObject,handles);
%UIWAITmakesFR_Processed_histogramwaitforuserresponse(seeUIRESUME)
%uiwait(handles.figure1);
globaltotal_subtrain_imgsub_imgmax_hist_levelbin_numform_bin_num;
total_sub=40;
train_img=200;
sub_img=10;
max_hist_level=256;
bin_num=9;
form_bin_num=29;
%--------------------------------------------------------------------------
%---Outputsfromthisfunctionarereturnedtothecommandline.
functionvarargout=FR_Processed_histogram_OutputFcn(hObject,eventdata,handles)
%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Getdefaultcommandlineoutputfromhandlesstructure
varargout{1}=handles.output;
%--------------------------------------------------------------------------
%---Executesonbuttonpressintrain_button.
functiontrain_button_Callback(hObject,eventdata,handles)
%hObjecthandletotrain_button(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globaltrain_processed_bin;
globaltotal_subtrain_imgsub_imgmax_hist_levelbin_numform_bin_num;
train_processed_bin(form_bin_num,train_img)=0;
K=1;
train_hist_img=zeros(max_hist_level,train_img);
forZ=1:
1:
total_sub
forX=1:
2:
sub_img%%%trainonoddnumberofimagesofeachsubject
I=imread(strcat('ORL\S',int2str(Z),'\',int2str(X),'.bmp'));
[rowscols]=size(I);
fori=1:
1:
rows
forj=1:
1:
cols
if(I(i,j)==0)
train_hist_img(max_hist_level,K)=train_hist_img(max_hist_level,K)+1;
else
train_hist_img(I(i,j),K)=train_hist_img(I(i,j),K)+1;
end
end
end
K=K+1;
end
end
[rc]=size(train_hist_img);
sum=0;
fori=1:
1:
c
K=1;
forj=1:
1:
r
if((mod(j,bin_num))==0)
sum=sum+train_hist_img(j,i);
train_processed_bin(K,i)=sum/bin_num;
K=K+1;
sum=0;
else
sum=sum+train_hist_img(j,i);
end
end
train_processed_bin(K,i)=sum/bin_num;
end
display('TrainingDone')
save'train'train_processed_bin;
%--------------------------------------------------------------------------
%---ExecutesonbuttonpressinTesting_button.
functionTesting_button_Callback(hObject,eventdata,handles)
%hObjecthandletoTesting_button(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globaltrain_imgmax_hist_levelbin_numform_bin_num;
globaltrain_processed_bin;
globalfilenamepathnameI
load'train'
test_hist_img(max_hist_level)=0;
test_processed_bin(form_bin_num)=0;
[rowscols]=size(I);
fori=1:
1:
rows
forj=1:
1:
cols
if(I(i,j)==0)
test_hist_img(max_hist_level)=test_hist_img(max_hist_level)+1;
else
test_hist_img(I(i,j))=test_hist_img(I(i,j))+1;
end
end
end
[rc]=size(test_hist_img);
sum=0;
K=1;
forj=1:
1:
c
if((mod(j,bin_num))==0)
sum=sum+test_hist_img(j);
test_processed_bin(K)=sum/bin_num;
K=K+1;
sum=0;
else
sum=sum+test_hist_img(j);
end
end
test_processed_bin(K)=sum/bin_num;
sum=0;
K=1;
fory=1:
1:
train_img
forz=1:
1:
form_bin_num
sum=sum+abs(test_processed_bin(z)-train_processed_bin(z,y));
end
img_bin_hist_sum(K,1)=sum;
sum=0;
K=K+1;
end
[tempM]=min(img_bin_hist_sum);
M=ceil(M/5);
getString_start=strfind(pathname,'S');
getString_start=getString_start(end)+1;
getString_end=strfind(pathname,'\');
getString_end=getString_end(end)-1;
subjectindex=str2num(pathname(getString_start:
getString_end));
if(subjectindex==M)
axes(handles.axes3)
%imageno:
5isshownforvisualizationpurpose
imshow(imread(STRCAT('ORL\S',num2str(M),'\5.bmp')))
msgbox('CorrectlyRecognized');
else
display(['Error==>TestingImageofSubject>>'num2str(subjectindex)'matcheswiththeimageofsubject>>'num2str(M)])
axes(handles.axes3)
%imageno:
5isshownforvisualizationpurpose
imshow(imread(STRCAT('ORL\S',num2str(M),'\5.bmp')))
msgbox('IncorrectlyRecognized');
end
display('TestingDone')
%--------------------------------------------------------------------------
functionbox_Callback(hObject,eventdata,handles)
%hObjecthandletobox(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Hints:
get(hObject,'String')returnscontentsofboxastext
%str2double(get(hObject,'String'))returnscontentsofboxasadouble
%--------------------------------------------------------------------------
%---Executesduringobjectcreation,aftersettingallproperties.
functionbox_CreateFcn(hObject,eventdata,handles)
%hObjecthandletobox(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled
%Hint:
editcontrolsusuallyhaveawhitebackgroundonWindows.
%SeeISPCandCOMPUTER.
ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
%--------------------------------------------------------------------------
%---ExecutesonbuttonpressinInput_Image_button.
functionInput_Image_button_Callback(hObject,eventdata,handles)
%hObjecthandletoInput_Image_button(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globalfilenamepathnameI
[filename,pathname]=uigetfile('*.bmp','TestImage');
axes(handles.axes1)
imgpath=STRCAT(pathname,filename);
I=imread(imgpath);
imshow(I)
%--------------------------------------------------------------------------
%---Executesduringobjectcreation,aftersettingallproperties.
functionaxes3_CreateFcn(hObject,eventdata,handles)
%hObjecthandletoaxes3(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled
%Hint:
placecodeinOpeningFcntopopulateaxes3
%ProgrammedbyUsmanQayyum
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 根据 matlab 识别 源代码