资源简介
基于matlab的人脸识别算法,可以识别单个几多个人脸,希望对大家有用哈
代码片段和文件信息
close all
clear all
clc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%reading an image
tic
I = imread(‘E:\123.png‘);
[IxIyIz]=size(I);
if Ix>400&Iy>300
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%reducing the scale of image let the high is 400
I=imresize(I[400Iy*400/Ix]‘nearest‘);
end
figure
imshow(I)
title(‘normal image‘)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%skin detection
I=double(I); %converting the integer into decimal fraction
[huesv]=rgb2hsv(I); %converting RGB space into HSV space
cb=0.148*I(::1)-0.291*I(::2)+0.439*I(::3)+128;%converting RGB space into YCrCb space
cr=0.439*I(::1)-0.368*I(::2)-0.071*I(::3)+128;
[w h]=size(I(::1)); %size of the image
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% let the skin pels points in the YCrCb space as 1
for i=1:w
for j=1:h
% segmenting the yellow skin colour areas
if 145<=cr(ij)&cr(ij)<=165&145<=cb(ij)&cb(ij)<=180&0.01<=hue(ij)&hue(ij)<=0.15
segment(ij)=1; %skin areas
else
segment(ij)=0;
end
end
end
figure
imshow(segment);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%% processing on the detected areas
skin=segment;
% removing small connected pixels
skin=bwareaopen(skinround(w*h/900));
%dilating
se=strel(‘disk‘5);
skin=imdilate(skinse);
%%%%%%%%%
- 上一篇:层次聚类matlab程序
- 下一篇:梯度下降拟合算法例程
相关资源
- 高灵敏度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实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
- k近邻算法matlab实现
- matlab识别系统
评论
共有 条评论