trainingSamplesPerDirectory = 10; % for directory-structured face
㈡ 人脸图像中各器官的定位
人脸五官的布局定位,有一个大家都遵守的“三庭五眼”规则
三庭五眼标准(细化完美):
1.眼睛的宽度,应为同一水平脸部宽度的3/10;
2.下巴长度应为脸长的1/5;眼球中心到眉毛底部的距离,应为脸长的1/10;
3.眼球应为脸长的1/14;鼻子的表面积,要小于脸部总面积的5/100;
4.理想嘴巴宽度应为同一脸部宽度的1/2。
四高三低标准:
1.“四高”:第一是,额部,第二个最高点,鼻尖。第三高,唇珠。第四高,下巴尖。
2.“三低”:两个眼睛之间,鼻额交界处必须是凹陷的;在唇珠的上方,人中沟是凹陷的,美女的人中沟都很深,人中脊明显;下唇的下方,有一个小小的凹陷,共三个凹陷。
3.通过两侧颧骨最高点作一条平行线,再通过口角到下颌角作一条平行线。形成一个“丰”字。
“三庭五眼”是人的脸长与脸宽的一般标准比例,不符合此比例,就会与理想的脸型产生距离。
三庭 指脸的长度比例,把脸的长度分为三个等分,从前额发际线至眉骨,从眉骨至鼻底,从鼻底至下颏,各占脸长的1/3。
五眼 指脸的宽度比例,以眼形长度为单位,把脸的宽度分成五个等分,从左侧发际至右侧发际,为五只眼形。两只眼睛之间有一只眼睛的间距,两眼外侧至侧发际各为一只眼睛的间距,各占比例的1/5。
首先,我们在面部正中作一条垂直的通过额部-鼻尖-人中-下巴的轴线
;通过眉弓作一条水平线;通过鼻翼下缘作一条平行线。这样,两条平行线就将面部分成三个等分:从发际线到眉间连线;眉间到鼻翼下缘;鼻翼下缘到下巴尖,上中下恰好各占三分之一,谓之“三庭”。而“五眼”是指眼角外侧到同侧发际边缘,刚好一个眼睛的长度,两个眼睛之间呢,也是一个眼睛的长度,另一侧到发际边是一个眼睛长度。这就是“五眼”。这是最基本的标准。
三庭和五眼的位置(一般标准):
1、脸部的长度(三庭)
从额头发际线到下颚为脸的长度,将其分为三等分:由发际线到眉毛,眉毛到鼻尖,鼻尖到下颚为三庭。
沿两条内外眦作垂线,可将面部在睑裂水平分为五等份,每一份的宽度与一个睑裂的宽度相等,即两眼内眦间距,两睑裂宽度和左右外眦至耳轮间距相等,称为“五眼”。正常睑裂宽度平均为3.5
㈢ opencv 如何定位人脸的
用人脸检测,能够检测不同大小的多个人脸。以下是主要程序:
static CvMemStorage* storage = 0;
static CvHaarClassifierCascade* cascade = 0;
const char* cascade_name ="C:\\OpenCV2.0\\data\\haarcascades\\haarcascade_frontalface_alt2.xml"; //分类器路径,根据实际情况写
cascade = (CvHaarClassifierCascade*)cvLoad( cascade_name, 0, 0, 0 );
storage = cvCreateMemStorage(0);
IplImage *image = cvLoadImage(filenames); //读入灰度图像
CvSeq* faces = cvHaarDetectObjects( image, cascade, storage,1.1, 2, CV_HAAR_DO_CANNY_PRUNING,cvSize(30, 30) ); //人脸检测函数
int num_of_face=faces->total; //这是检测到的人脸的个数
CvRect* r = (CvRect*)cvGetSeqElem( faces, i ); //获取每个人脸的信息,返回类型是矩形。i为人脸编号,0,1,2。。。可以用循环读取。
㈣ 人脸识别与人脸定位有什么区别
人脸定位只是单一的在一张图片中找到人脸的位置,并标注出来,只是单一的显示出来。而人脸识别需要,人脸定位,预处理,特征值提取,人脸特征值匹配及识别。人脸定位只是人脸是别的第一步。
㈤ 用MATLAB做人脸定位或是叫人脸检测,是基于颜色的...中间有个亮度分离的程序找不到啊~~的
http://..com/question/76303596.html
㈥ 素描五官定位方法、三庭五眼的介绍
素描头像中三庭五眼画法介绍:
1、脸部的长度(三庭)从额头发际线倒下颚为脸的长度,将其分为三等分:由发际线到眉毛,眉毛到鼻尖,鼻尖倒下颚为三庭。
2、脸的宽度(五眼):理想脸型的宽度为五。
三庭五眼详细介绍:
一、头像素描画法更加精确的标准
在“三庭五眼”的基础美术人脸画法上出现了一个更为精确的标准,各个部位皆符合此标准,即为美人,具体如下:
1、眼睛的宽度,应为同一水平脸部宽度的十分之三;
2、下巴长度应为脸长的五分之一;
3、眼球中心到眉毛底部的距离,应为脸长的十分之一;
4、眼球应为脸长的十四分之一;
5、鼻子的表面积,要小于脸部总面积的百分之五;
6、理想嘴巴宽度应为同一脸部宽度的二分之一。
二、怎样确定三庭五眼
1、首先,我们在面部正中作一条垂直的、通过额部 -鼻尖-人中-下巴的轴线;通过眉弓作一条水平线;通过鼻翼下缘作一条平行线。这样,两条平行线就将面部分成三个等分:从发际线到眉间连线;眉间到鼻翼下缘;鼻翼下缘到下巴尖,上中下恰好各占1/3,谓之“三庭”。
2、而“五眼”是指眼角外侧到同侧发际边缘,刚好一个眼睛的长度,两个眼睛之间呢,也是一个眼睛的长度,另一侧到发际边是一个眼睛长度。这就是“五眼”。这是最基本的标准。 我们再看,在垂直轴上,一定要有“四高三低”。
3、“四高”:第一是,额部,第二个最高点,鼻尖。第三高,唇珠。第四高,下巴尖。
4、“三低”分别是两个眼睛之间,鼻额交界处必须是凹陷的;在唇珠的上方,人中沟是凹陷的,美女的人中沟都很深,人中脊明显;下唇的下方,有一个小小的凹陷,共三个凹陷。
三、三庭和五眼的位置
1、脸部的长度(三庭)从额头发际线倒下颚为脸的长度,将其分为三等分:由发际线到眉毛,眉毛到鼻尖,鼻尖倒下颚为三庭。
2、脸的宽度(五眼):理想脸型的宽度为五个眼睛的长度,就是以一个眼睛的长度为标准,从发际线到眼尾(外眼角)为一眼,从外眼角到内眼角为二眼,两个内眼角的距离为三眼,从内眼角到外眼角,又一个眼睛的长度为四眼,从外眼角再到发际线称为五眼。
(6)人脸五官定位代码扩展阅读
三庭五眼:
“三庭五眼”是人的脸长与脸宽的一般标准比例,不符合此比例,就会与理想的脸型产生距离。最简单的三庭五眼,就是把头部上下分为三等分,把头的宽度分为五等分。
三庭:指脸的长度比例,把脸的长度分为三个等分,从前额发际线至眉骨,从眉骨至鼻底,从鼻底至下颏,各占脸长的1/3。
五眼:指脸的宽度比例,以眼形长度为单位,把脸的宽度分成五个等分,从左侧发际至右侧发际,为五只眼形。两只眼睛之间有一只眼睛的间距,两眼外侧至侧发际各为一只眼睛的间距,各占比例的1/5。
美术中的“三庭五眼”,三庭 指脸的长度比例,把脸的长度分为三个等分,从前额发际线至眉骨,从眉骨至鼻底,从鼻底至下颏,各占脸长的1/3。五眼 指脸的宽度比例,以眼形长度为单位,把脸的宽度分成五个等分,从左侧发际至右侧发际,为五只眼形。
㈦ 用Matlab实现的人脸定位,急,期待高手解答
大概看了一下,这个程序编得一团糟,肯定有问题~~~~看完头两个IF我已经疯了。编算法人的思路我说一下你就明白了。
读进一幅图,二进制化,也就是说比如200X120的矩阵,只有黑白,要么1,要么0.
用网格把它打成10X10的格子图,每格就有个20X12的小矩阵。然后
for i = 1:10
...
for j = 1:10
这两个FOR就是对这100个格子逐个进行分析,从格子1,一直到格子100,但实际上后面就发现是对对这100个格子的边缘格子进行分析 ,中间不动(就是假设 边缘最没用,脸不会出现在那儿,能扔就扔掉)
if (y2<=c | y2>=9*c) | (x1==1 | x2==r*10) % 保证是在边缘的格子里面
loc=find(BW(x1:x2, y1:y2)==0); % 这个格子(矩阵)里,有多少值为0的元素,即为背景元素,没用的,不是人脸。(所以这段 程序开头写了“将背景部分弱化”。
[o p]=size(loc); % 噢,找到了这么多个0
pr=o*100/s;
% 用pr值 来判断是否应该将这整个格子全部值 赋为0,比如一个格子里面只有几个1(比如几根头发),其它全是无用的信息0,那么干脆就把这个格子全部变成0,免得影响判断。pr的定义是有问题的,因为o永远小于s(你可以自己算算),所以所有的边缘格都会强行被赋为0,就是“全黑了”。
if pr<=100
BW(x1:x2, y1:y2)=0;
r1=x1;r2=x2;s1=y1;s2=y2; % 这句话P用没有,整个程序前后都没出现r1,r2,s1,s2,在这儿定义有什么用?
pr1=0; %同样是句P话,其他地方都没出现过pr1
end
end
y1=y1+c;
y2=y2+c;
end
x1=x1+r;
x2=x2+r;
然后这几句就是格子赋值 结束,继续前进,找下一个格子呗,又回到初始。。。
所以,上面这段程序,什么人脸不人脸检测的,就是把边缘全部变黑而己……
所以下面我也看不进去了。。。
补充:
还是说完吧,后面一段程序,其实就是把所有变黑的边缘的边界给勾了出来。没有任何新东西。。。
所以你这段程序,就是先把边缘全部抹黑,然后勾出这个边缘的边界,画出来,就行了。没有任何“人脸定位”的东西,就是假设人脸在图的中间,边缘没有任何信息。。。仅此而己~~~
㈧ 这是一段人脸识别的matlab程序,能够实现人脸的定位,我想请高手给加上些注释,或者告诉我是用什么方法实现
我对你的程序很感兴趣 你把程序完整版发给我 我读读 帮你注释
㈨ 【ASM人脸定位】ASM是用什么软件做的Matlab手工标记特征点要用什么标记
可以用复制matlab 也有c的实现,可以看看这个网站 http://www.milbo.users.sonic.net/