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

基于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);

实验结果:

基于MATLAB的人脸识别算法的研究_第1张图片

 

原图

基于MATLAB的人脸识别算法的研究_第2张图片

 

低通滤波

基于MATLAB的人脸识别算法的研究_第3张图片

 

颜色空间转换rgbtoycbcr

基于MATLAB的人脸识别算法的研究_第4张图片

 

转化为灰度图像

基于MATLAB的人脸识别算法的研究_第5张图片

 

概率计算转换为二值图像

基于MATLAB的人脸识别算法的研究_第6张图片

 

腐蚀膨胀

基于MATLAB的人脸识别算法的研究_第7张图片

 

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

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

还需进一步完善。

FPGA自习学院将不断更新和总结FPGA相关学习资料,书籍,实例工程和视频。

欢迎大家加入FPGA自习学院,一起学习一起成长。

基于MATLAB的人脸识别算法的研究_第8张图片

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

 

 

 基于MATLAB的人脸识别算法的研究_第9张图片

 

你可能感兴趣的:(matlab之图像处理,matlab数字图像处理)