人脸识别的Matlab代码实现

人脸识别的Matlab代码实现
1概述
人脸检测(Face De tec tion)是在输入图像中确定所有人脸(如果存在)的位置,大小,位姿的过程。人脸检测作为人脸信息处理中的一项关键技术,近年来成为模式识别与计算机视觉领域一项受到普遍重视,研究十分活跃的课题﹐人脸检测问题最初来源于人脸识别(Face Recogn ition)八人脸识别的研究可以追溯到20世纪六、七十年代,经过几十年的曲折发展已日趋成熟人脸检测是自动人脸识别系统的一个关键环节,但是早期的人脸识别研究主要针对具有较强约束条件的人脸图像(如无背景的图像),往往假设人脸位置已知或很容易获得,因此人脸检测问题并未受到重视,近几年随着电子商务等应用的发展,人脸识别成为最有潜力的生物身份验证手段,这种应用背景要求自动人脸识别系统能够对一般环境图像具有一定的适应能力,因此所面临的一系列问题使得人脸检测开始作为一个独立的课题受到研究者的重视。今天,人脸检测的研究已得到蓬勃的发展。目前,在人脸检测方面的研究主要有两类方法;基于特征的方法和基于分类的方法""。基于特征的方法依靠搜索人脸的面部特征以及这些特征的几何关系检测人脸。这种方法在这特征点明显的情况下检测效果较好。但在光照变化比较大时候,人脸的检测就比较困难。基于分类的方法使用分类器把输入图像分成人脸与非人脸检测人脸。这样特征提取与分类器的设计就显得非常的重要。许多分类模型已经提出来了,但是它们当中有许多都是使用图像的像素值作为分类器的输入特征。这种像素值特征不能表达出检测物体的形状以及纹理特征。所以应该找出具有相邻关系的更有效的特征正来提高检测性能。现选用Gabor滤波器进行特征提取。Gabor滤波器具有良好的多尺度特性,能最好的兼顾信号在时域和频域中的分辨能力,同时具有与生物视觉系统相近的特点3,所以近年来广泛应用于面部表情识别[4,人脸识别5,指纹鉴别等领域。
2运行结果
% — Outputs from this function are returned to the command line.
function varargout = face_detect_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;

% — Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
ax1=(handles.axes1);cla(ax1,‘reset’)
ax2=(handles.axes2);cla(ax2,‘reset’)
ax4=(handles.edit1);cla(ax4,‘reset’)

load(‘TrainDatabasePath’);
load(‘TestDatabasePath’);

%读取人脸库的路径

prompt = {‘输入人脸数字【1-10】’};
dlg_title = ‘人脸选择’;
num_lines= 1;
def = {‘1’};

TestImage = inputdlg(prompt,dlg_title,num_lines,def);
TestImage = strcat(TestDatabasePath,‘’,char(TestImage),‘.jpg’);
save(‘TestImage’);
axes(handles.axes1);

im = imread(TestImage);
imshow(im);
title(‘测试人脸’);

3参考文献
[1]李建璞.基于Gabor滤波特征和一类分类器的人脸检测[J].石家庄铁道学院学报(自然科学版),2019,22(02):73-77.DOI:10.13319/j.cnki.sjztddxxbzrb.2009.02.030.
[2]曲仕茹,熊波.基于Gabor滤波和神经网络的人脸检测方法研究[J].西北工业大学学报,2021,29(05):690-694.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值