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/