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

作者:lee神

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

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

MATLAB人脸识别的处理过程:

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

10.%圈出人脸

部分源码:

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步骤人脸识别成功

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

还需进一步完善。

最后欢迎大家关注我的扣扣群,微信公众号。

 

基于MATLAB的人脸识别算法的研究的更多相关文章

  1. 【计算机视觉】基于OpenCV的人脸识别

    一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenCV 已被广泛运用在各种项目上,从 ...

  2. 数字图像处理:基于MATLAB的车牌识别项目 标签: 图像处理matlab算法 2017-06-24 09:17 98人阅读 评论(0)

    学过了数字图像处理,就进行一个综合性强的小项目来巩固一下知识吧.前阵子编写调试了一套基于MATLAB的车牌识别的项目的代码.今天又重新改进了一下代码,识别的效果好一点了,也精简了一些代码.这里没有使用 ...

  3. 基于 OpenCV 的人脸识别

    基于 OpenCV 的人脸识别 一点背景知识 OpenCV 是一个开源的计算机视觉和机器学习库.它包含成千上万优化过的算法,为各种计算机视觉应用提供了一个通用工具包.根据这个项目的关于页面,OpenC ...

  4. DeepID人脸识别算法之三代(转)

    DeepID人脸识别算法之三代 转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/42091205 DeepID,目前最强人脸识别算法,已经三 ...

  5. opencv学习之路(40)、人脸识别算法——EigenFace、FisherFace、LBPH

    一.人脸识别算法之特征脸方法(Eigenface) 1.原理介绍及数据收集 特征脸方法主要是基于PCA降维实现. 详细介绍和主要思想可以参考 http://blog.csdn.net/u0100066 ...

  6. 基于MATLAB的腐蚀膨胀算法实现

    本篇文章要分享的是基于MATLAB的腐蚀膨胀算法实现,腐蚀膨胀是形态学图像处理的基础,腐蚀在二值图像的基础上做“收缩”或“细化”操作,膨胀在二值图像的基础上做“加长”或“变粗”的操作. 什么是二值图像 ...

  7. DeepID人脸识别算法之三代

    DeepID人脸识别算法之三代 转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/42091205 DeepID,眼下最强人脸识别算法.已经三 ...

  8. 总结几个简单好用的Python人脸识别算法

    原文连接:https://mp.weixin.qq.com/s/3BgDld9hILPLCIlyysZs6Q 哈喽,大家好. 今天给大家总结几个简单.好用的人脸识别算法. 人脸识别是计算机视觉中比较常 ...

  9. 基于FPGA的肤色识别算法实现

    大家好,给大家介绍一下,这是基于FPGA的肤色识别算法实现. 我们今天这篇文章有两个内容一是实现基于FPGA的彩色图片转灰度实现,然后在这个基础上实现基于FPGA的肤色检测算法实现. 将彩色图像转化为 ...

随机推荐

  1. Magicodes.Admin.Core开源框架总体介绍

    框架说明 Magicodes.Admin.Core框架在ABP以及ASP.NET ZERO的基础上进行了封装和完善,目前基于.NET Core 2.0+(Framework版本),由于部分组件在.NE ...

  2. 小程序 wx.getRecorderManager 录音 to 语音识别

    微信扫小程序码看调用效果(自然语言理解小助手) 欢迎转载,请保留原文链接:http://www.happycxz.com/m/?p=125 这次主要是把我的api更新了一下,支持微信小程序新的录音接口 ...

  3. pwnable.kr login之write up

    main函数如下: auth函数如下: 程序的流程如下: 输入Authenticate值,并base64解码,将解码的值代入md5_auth函数中 mad5_auth()生成其MD5值并与f87cd6 ...

  4. [转载] FreeMarker教程

    转载自http://www.blogjava.net/freeman1984/archive/2010/11/04/337239.html FreeMarker是一个模板引擎,一个基于模板生成文本输出 ...

  5. Robotium 框架学习之Class By

    Class By定义了页面元素的定位和支持哪些页面元素(至少我是这么理解的),使用及其简单:Used in conjunction with the web methods. Examples are ...

  6. Redis 图形化监控方案 RedisLive 介绍

    作为一款开源的 Redis 图形化监控工具,RedisLive 提供对 Redis 实例的内存使用情况,接收的客户端命令,接收的请求数量以及键进行监控.RedisLive 的工作原理基于 Redis ...

  7. NuGet的使用、部署、搭建私有服务

    NuGet的使用.部署.搭建私有服务 前言 什么是NuGet? 为什么要使用NuGet NuGet的优点 使用 Get-Help NuGet Install-Package Get-Package U ...

  8. 通过ELK快速搭建一个你可能需要的集中化日志平台

    在项目初期的时候,大家都是赶着上线,一般来说对日志没有过多的考虑,当然日志量也不大,所以用log4net就够了,随着应用的越来越多,日志散 落在各个服务器的logs文件夹下,确实有点不大方便,这个时候 ...

  9. 基于微博LBS API开发的周边美图android app

    [app 不完善,就差api了] 几年之前看到过新浪微博开放API中有基于Place的API,授权后可以查看基于地理位置的一些数据,比如某个地点周边的微博动态.某个具体用户的位置动态等等.最近空余时间 ...

  10. c语言的extern与static与递归

    知识点: 外部函数:定义的函数能被本文件和其他文件访问 1> 默认情况下所有函数都是外部函数 2> 不允许有同名的外部函数 内部函数:定义的函数只能被本文件访问,其他文件不能访问 1> ...