资源简介
利用matlab实现基于肤色的人脸检测以及GUI设计,换图片测试需调整肤色均值

代码片段和文件信息
function [boxsface_numduration]=face_detect(imagethresholdmin_size)
if isempty(image)
boxs=[];
face_num=0;
duration=0;
return ;
end
if (nargin==1)
threshold =0.5;
min_size=40;
elseif (nargin==2)
min_size=40;
end
%fprintf(‘%f %d\r\n‘thresholdmin_size);
min_area=min_size*min_size;
tic;
YCbCr=rgb2ycbcr(image);
[height width channel]=size(YCbCr);
cb=double(YCbCr(::2));
cr=double(YCbCr(::3));
Ecb = (cb-117.4316);
Ecr = (cr-148.5599);
prob=exp((-0.0019)*Ecb.^2+(0.0004)*(Ecb).*(Ecr)+(-0.0033)*Ecr.^2);
z=prob./max(max(prob));%---------------------------------------------------------complextion probability
z = im2bw(zthreshold);
%figure;imshow(z);title(‘Set threshold‘)%-----------------------------------threshold
se=strel(‘square‘3);
f=imopen(zse);
f=imclose(fse);
%figureimshow(f);%open and close processing;
f=imfill(f‘holes‘);
%figureimshow(f);%fill holes in the Img
se1=strel(‘square‘4);
f=imerode(fse1);
f=imdilate(fse1);
%figureimshow(f);%----------------------------------------------------erosion and expansion;
[Lnum]=bwlabel(f4);
for i=1:num;%region loop;
[rc]=find(L==i);
len=max(r)-min(r)+1;
wid=max(c)-min(c)+1;
area_sq=len*wid;
area=size(r1);
len_wid_ratio=len/wid;
area_sq_ratio =area/area_sq;
for j=1:size(r1)%pixel loop;
if(len_wid_ratio<.8)|(len_wid_ratio>2.4)|area<(min_area)|area_sq_ratio<0.65
L(r(j)c(j))=0;%not zero pixel =0;
else
continue;
end
end
end
w=L&z;
[Lnum]=bwlabel(w4);
if num>0
boxs=zeros(num4);
face_num=num;
for i=1:num
[r c]=find(L==i);
r_min=min(r);r_max=max(r);
c_min=min(c);c_max=max(c);
boxs(i1)=c_min;%x1
boxs(i2)=r_min;%y1
boxs(i3)=c_max;%x2
boxs(i4)=r_max;%y2
end
else
boxs=[];
face_num=0;
end
duration=toc;
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-04-16 15:21 基于肤色的人脸检测GUI\
文件 2253 2017-12-05 01:04 基于肤色的人脸检测GUI\face_detect.m
文件 5103 2017-12-06 01:45 基于肤色的人脸检测GUI\GUI.fig
文件 3860 2017-12-12 22:32 基于肤色的人脸检测GUI\GUI.m
目录 0 2018-04-16 15:21 基于肤色的人脸检测GUI\test_iamge\
文件 11219 2017-12-04 00:23 基于肤色的人脸检测GUI\test_iamge\10.jpg
文件 16142 2017-12-04 00:57 基于肤色的人脸检测GUI\test_iamge\11.jpg
文件 90738 2017-12-04 01:37 基于肤色的人脸检测GUI\test_iamge\123.jpg
文件 36185 2017-12-04 01:29 基于肤色的人脸检测GUI\test_iamge\14.jpg
文件 48041 2018-04-11 16:57 基于肤色的人脸检测GUI\test_iamge\20140317083911630349[1].jpg
文件 31781 2017-08-05 23:35 基于肤色的人脸检测GUI\test_iamge\8.jpg
文件 62824 2018-04-11 16:57 基于肤色的人脸检测GUI\test_iamge\97e46e4c262ab077-e08426d869a2e1cb-ca42dc3a62c006fa857f7458dd96891b[1].jpg
文件 356099 2018-04-11 16:58 基于肤色的人脸检测GUI\test_iamge\D525D7E5EE9EC0C8E1958DB524[1].jpg
文件 91020 2017-12-04 12:38 基于肤色的人脸检测GUI\test_iamge\test1.jpg
文件 96877 2017-12-04 12:38 基于肤色的人脸检测GUI\test_iamge\test2.jpg
- 上一篇:卡尔曼滤波matlab仿真程序
- 下一篇:雷达杂波瑞利分布模型MATLAB仿真
相关资源
- 串行级联cpm系统MATLAB仿真
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
评论
共有 条评论