基于matlab的人脸识别源代码.docx
- 文档编号:643368
- 上传时间:2022-10-11
- 格式:DOCX
- 页数:7
- 大小:16.08KB
基于matlab的人脸识别源代码.docx
《基于matlab的人脸识别源代码.docx》由会员分享,可在线阅读,更多相关《基于matlab的人脸识别源代码.docx(7页珍藏版)》请在冰豆网上搜索。
基于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_OpeningF',FR_Processed_histogram_OpeningF,...
'gui_OutputF',FR_Processed_histogram_OutputF,...
'gui_LayoutF',[],...
'gui_Callback',[]);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback=str2func(varargin{1});
end
ifnargout
[varargout{1:
nargout}]=gui_mainf(gui_State,varargin{:
});
else
gui_mainf(gui_State,varargin{:
});
end
%Endinitializationcode-DONOTEDIT
%--------------------------------------------------------------------------
%---E*ecutesjustbeforeFR_Processed_histogramismadevisible.
functionFR_Processed_histogram_OpeningF(hObject,eventdata,handles,varargin)
%Thisfunctionhasnooutputargs,seeOutputF.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%vararginmandlineargumentstoFR_Processed_histogram(seeVARARGIN)
%ChoosedefaultmandlineoutputforFR_Processed_histogram
handles.output=hObject;
%Updatehandlesstructure
guidata(hObject,handles);
%UIWAITmakesFR_Processed_histogramwaitforuserresponse(seeUIRESUME)
%uiwait(handles.figure1);
globaltotal_subtrain_imgsub_imgma*_hist_levelbin_numform_bin_num;
total_sub=40;
train_img=200;
sub_img=10;
ma*_hist_level=256;
bin_num=9;
form_bin_num=29;
%--------------------------------------------------------------------------
%---Outputsfromthisfunctionarereturnedtothemandline.
functionvarargout=FR_Processed_histogram_OutputF(hObject,eventdata,handles)
%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Getdefaultmandlineoutputfromhandlesstructure
varargout{1}=handles.output;
%--------------------------------------------------------------------------
%---E*ecutesonbuttonpressintrain_button.
functiontrain_button_Callback(hObject,eventdata,handles)
%hObjecthandletotrain_button(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globaltrain_processed_bin;
globaltotal_subtrain_imgsub_imgma*_hist_levelbin_numform_bin_num;
train_processed_bin(form_bin_num,train_img)=0;
K=1;
train_hist_img=zeros(ma*_hist_level,train_img);
forZ=1:
1:
total_sub
for*=1:
2:
sub_img%%%trainonoddnumberofimagesofeachsubject
I=imread(strcat('ORL\S',int2str(Z),'\',int2str(*),'.bmp'));
[rowscols]=size(I);
fori=1:
1:
rows
forj=1:
1:
cols
if(I(i,j)==0)
train_hist_img(ma*_hist_level,K)=train_hist_img(ma*_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;
%--------------------------------------------------------------------------
%---E*ecutesonbuttonpressinTesting_button.
functionTesting_button_Callback(hObject,eventdata,handles)
%hObjecthandletoTesting_button(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
globaltrain_imgma*_hist_levelbin_numform_bin_num;
globaltrain_processed_bin;
globalfilenamepathnameI
load'train'
test_hist_img(ma*_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(ma*_hist_level)=test_hist_img(ma*_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=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab 识别 源代码