这篇文章主要介绍了MATLAB中人脸识别算法的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
基于MATLAB的人脸识别算法的研究
现如今机器视觉越来越盛行,从智能交通系统的车辆识别,车牌识别到交通标牌的识别;从智能手机的人脸识别的性别识别;如今无人驾驶汽车更是应用了大量的机器识别的是算法在里边。
今天我们将从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中人脸识别算法的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持天达云,关注天达云行业资讯频道,更多相关知识等着你来学习!