首页 > 其他分享 >人脸识别的Matlab代码实现

人脸识别的Matlab代码实现

时间:2024-10-26 23:19:29浏览次数:3  
标签:人脸识别 特征 检测 代码 TestImage handles 人脸 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. 

标签:人脸识别,特征,检测,代码,TestImage,handles,人脸,Matlab
From: https://blog.csdn.net/2401_84457171/article/details/143131071

相关文章

  • 基于CT与MRI图像融合matlab程序及结果
    请注意该程序处理的图像必须是灰度图像,不能是彩图。Matlab程序:clear%装载原始图像001.mat;002.mat并显示。[X,map]=imread('003.Tif');X1=X;map1=map;figure(2);X1=imread('003.Tif');subplot(2,2,1);imshow(X1);title('图像001');X2=imread('004.Tif');subpl......
  • 编队队形保持-Leader-Follower法-matlab仿真
    Leader-follower方法是传统编队队形控制中最常用的方法之一。leader跟踪一个预先给定的轨迹,follower和leader轨迹保持一定构型,并速度达到一致。本文使用的应用编队控制情景就如上图所示,是一个小编队。编队中有一个leader,和两个follower。编写的代码是对Desai团队发表......
  • (神经网络和卷积入门)Pytorch小土堆跟练代码(第8天)
    本系列为跟练小土堆每集代码,然后进入李宏毅机器学习教程。在系列中会敲完所有视频中代码,并且在注释详细写出感悟和易错点。欢迎大家一起交流!最前面的神经网络和卷积,可以移步我的另一个帖子池化层只提取一部分特征,可以大大的加快训练速度最后输出类似于马赛克的效果'池......
  • 熵权法确定指标的权重——Python代码
            熵权法是目前最常用的确定评价指标权重的方法之一。熵是热力学的物理概念,是衡量一个体系混乱或无序度的度量,熵越大表示系统越混乱,所反映的信息越少,反之反映的信息越多。熵权法计算权重可以分为以下几步:第一步:计算第 j 项指标在第 i 个样本占该指标的比重......
  • 读《代码大全》有感
    通过老师的推荐,我毅然决然的踏上了拜读编程经典《代码大全》之路,最开始这本书到手的时候,我只觉得这本书实在是太过于厚重,让我有一种叹为观止的感觉,感觉其中的内容无非就是枯燥无味的知识灌入,但当我打开书的那一刻我才发现自己的大错特错,这本书无愧于编程经典,这四个大字,这本书让我......
  • IDEA如何提交代码
    前言我们在使用IDEA开发Java应用时,经常是需要用到git工具的,这帮助我们更好的管理代码,以及协同开发。今天,就来介绍下在IDEA中,如何用git提交和推送代码,完全是手把手教学。如何提交和推送代码首先,我们需要接入git,这个先不讲了。其次,我们修改某些文件,或者新增,或者删除的时候,就可以......
  • IDEA如何将一个分支的代码合并到另一个分支(当前分支)
    前言我们在使用IDEA开发Java应用时,经常是和git一起使用的。我们对于git常用的操作包括提交,推送,拉取代码等。还有一个重要的功能是合并代码。那么,我们应该如何合并代码呢?如何合并代码首先,我们选择当前的代码分支,点击一下。然后,我们点击下需要合并过来的分支,在二级菜单里面,点......
  • 增广拉格朗日iLQR时空联合规划代码简介与再开发8-状态转移方程
    增广拉格朗日iLQR时空联合规划代码简介与再开发7-系统模型DiscreteDynamics和ContinuousDynamics类-CSDN博客https://blog.csdn.net/weixin_46006849/article/details/143238871增广拉格朗日iLQR时空联合规划代码简介与再开发-前言_时空联合规划算法-CSDN博客https://blog.cs......
  • pytest中使用selenium代码运行完后浏览器自动关闭
    遇到的问题在用selenium做web自动化测试时,测试用例执行完后,自动关闭浏览器ifcls.__driverisnotNoneandcls.__switchisFalse:cls.__driver.quit()cls.__driver=None在写代码的时候发现,就算设置了前后置,并且添加了判断已经创建了浏览器驱动实例,并且switch标......
  • 代码随想录算法训练营day26|455.分发饼干 376. 摆动序列 53. 最大子序和
    学习资料:https://programmercarl.com/贪心算法理论基础.html#算法公开课贪心算法Part1求局部最优解,最终达到全局最优455.分发饼干(大胃口吃大饼干)点击查看代码classSolution(object):deffindContentChildren(self,g,s):""":typeg:List[int]......