资源简介
人脸检测定位算法,对人脸区域进行预检测,确定人脸可能区域,然后再根据眼睛的粗略定位进一步确定人脸区域。
代码片段和文件信息
function facedetection(img_name)
% 读取RGB图像
I = imread(img_name);
% 转换为灰度图像
gray = rgb2gray(I);
% 将图像转化为YCbCr颜色空间
YCbCr = rgb2ycbcr(I);
% 获得图像宽度和高度
heigth = size(gray1);
width = size(gray2);
% 根据肤色模型将图像二值化
for i = 1:heigth
for j = 1:width
Y = YCbCr(ij1);
Cb = YCbCr(ij2);
Cr = YCbCr(ij3);
if(Y < 80)
gray(ij) = 0;
else
if(skin(YCbCr) == 1)
gray(ij) = 255;
else
gray(ij) = 0;
end
end
end
end
% 二值图像形态学处理
SE=strel(‘arbitrary‘eye(5));
%gray = bwmorph(gray‘erode‘);
% imopen先腐蚀再膨胀
gray = imopen(graySE);
% imclose先膨胀再腐蚀
%gray = imclose(graySE);
imshow(gray);
% 取出图片中所有包含白色区域的最小矩形
[Lnum] = bwlabel(gray8);
STATS = regionprops(L‘BoundingBox‘);
% 存放经过筛选以后得到的所有矩形块
n = 1;
result = zeros(n4);
figureimshow(I);
hold on;
for i = 1:num
box = STATS(i).BoundingBox;
x = box(1); %矩形坐标x
y = box(2); %矩形坐标y
w = box(3); %矩形宽度w
h = box(4); %矩形高度h
% 宽度和高度的比例
ratio = h/w;
ux = uint8(x);
uy = uint8(y);
if ux > 1
ux = ux - 1;
end
if uy > 1
uy = uy - 1;
end
% 可能是人脸区域的矩形应满足以下条件:
% 1、高度和宽度必须都大于20,且矩形面积大于400
% 2、高度和宽度比率应该在范围(0.62)内
% 3、函数findeye返回值为1
if w < 20 || h < 20 || w*h < 400
continue
elseif ratio < 2 && ratio > 0.6 && findeye(grayuxuywh) == 1
% 记录可能为人脸的矩形区域
result(n:) = [ux uy w h];
n = n+1;
end
end
% 对可能是人脸的区域进行标记
if size(result1) == 1 && result(11) > 0
rectangle(‘Position‘[result(11)result(12)result(13)result(14)]‘EdgeColor‘‘r‘);
else
% 如果满足条件的矩形区域大于1则再根据其他信息进行筛选
for m = 1:size(result1)
m1 = result(m1);
m2 = result(m2);
m3 = result(m3);
m4 = result(m4);
% 标记最终的人脸区域
if m1 + m3 < width && m2 + m4 < heigth
rectangle(‘Position‘[m1m2m3m4]‘EdgeColor‘‘r‘);
end
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 43878 2017-07-20 14:20 22.bmp
文件 2478 2017-07-20 14:10 facedetection.m
文件 723 2017-07-20 14:10 findeye.m
文件 327 2017-07-20 14:11 main.m
文件 687 2017-07-20 14:09 skin.m
文件 175350 2017-07-20 14:30 11.bmp
相关资源
- 基于肤色模型的人脸检测MATLAB代码
- 人脸检测matlab编写
- 车牌识别与人脸定位matlab
- 基于AdaBoost算法的人脸检测,matlab实现
- 基于模板匹配的人脸检测实现-MATLAB
- 人脸检测三个不同小程序,matlab,其
- 基于SVM+HOG的人脸检测matlab程序
- 基于haar特征+AdaBoost,CascadeBoost算法的
- 人脸人眼定位算法matlab实现代码
- 基于模板匹配的人脸检测-教程-matla
- MATLAB的人脸检测程序程序源码,代码
- 人脸检测,五官检测 matlab
- 基于HaarLike的人脸检测
- adaboost人脸检测算法
- 基于神经网络的人脸识别/检测MATLAB模
- 人脸检测源码 face detection source code
- 人脸检测与MATLAB实现
- matlab人眼检测代码
- 基于肤色的人脸检测matlab代码
- 基于肤色的人脸检测
- 基于肤色的简易人脸检测
- matlab 人脸检测
- MATLAB基于肤色模型和模板匹配的人脸
- matlab基于笔记本电脑的摄像头的人脸
- matlab实现人脸检测并提取摄像头检测
- 基于卡尔曼滤波的视频人脸跟踪MATL
- 快速人脸定位matlab程序
- matlab人脸归一化)_人眼定位,缩放。
- matlab实现RGB、HSI、YCbCr之间的转换以及
- 基于matlab-GUI实时人脸检测系统
评论
共有 条评论