前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于MATLAB的人脸识别算法的研究

基于MATLAB的人脸识别算法的研究

作者头像
FPGA开源工作室
发布2019-10-29 10:21:39
1.5K0
发布2019-10-29 10:21:39
举报
文章被收录于专栏:FPGA开源工作室FPGA开源工作室

基于MATLAB的人脸识别算法的研究

作者:lee神

现如今机器视觉越来越盛行,从智能交通系统的车辆识别,车牌识别到交通标牌的识别;从智能手机的人脸识别的性别识别;如今无人驾驶汽车更是应用了大量的机器识别的是算法在里边。

今天我们将从MATLAB的图像识别说起,后边将陆续讲解车牌识别,交通标牌识别等,并努力将它移植到FPGA里边做到高速实时处理。

MATLAB人脸识别的处理过程:

  1. 1. % 读入图像
  2. 2. %低通滤波,去除噪声
  3. 3. %颜色空间的转换
  4. 4. %像素值概率的计算
  5. 5. %图像的腐蚀
  6. 6. %图像的膨胀
  7. 7. %根据填充率,去除手脚等非人脸部分
  8. 8. %根据面积比去除一些较小的非人脸部分
  9. 9. %根据肤色区域的长宽比出去一些非人脸部分
  10. 10.%圈出人脸

部分源码:

代码语言:javascript
复制
clear all
close all
clc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%读入图像
x= imread('boy1.bmp');
xx=x;
figure,
imshow(x);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%低通滤波,去除噪声
fR=xx(:,:,1);
fG=xx(:,:,2);
fB=xx(:,:,3);
f=1/9*ones(3);%µÍͨÂ˲¨Æ÷£¬Â˳ý¸ßƵÔëÉù
filtered_fR=imfilter(fR,f);
filtered_fG=imfilter(fG,f);
filtered_fB=imfilter(fB,f);
x_filtered=cat(3,filtered_fR,filtered_fG,filtered_fB);
figure,
imshow(x_filtered);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%颜色空间的转换
I=rgb2ycbcr(x);        %ÑÕÉ«¿Õ¼äת»» 
gray=rgb2gray(x);
figure,
imshow(gray);

实验结果:

原图

低通滤波

颜色空间转换rgbtoycbcr

转化为灰度图像

概率计算转换为二值图像

腐蚀膨胀

经过7,8,9,10步骤人脸识别成功

此代码经过大量实验基本可以实现人脸识别。

还需进一步完善。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA开源工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档