2015-04-29 119 views
0

你好,我正在嘗試檢測嘴巴或嘴脣的區域。爲此,我嘗試使用這些文件中描述的方法:Paper1,Paper2。 (只能張貼兩篇論文)基於YCbCr色彩空間的嘴/嘴脣檢測openCv

他們使用的方法是利用顏色空間YCbCr,因爲嘴脣有強烈的紅色成分,而弱的藍色則是臉部的其餘部分。因此可以使用這樣的該色彩空間:

LipMap =(CR Cr)的((CR Cr)的-n(CR/CB))((CR Cr)的-n *(CR/CB))

N = 0.95 *((總和(CR *鉻)/ M)/(總和(CR/CB)/ M))

問題是所有這些來源不真正解釋如何ca流通。我知道如何獲得Cr和Cb的值,但我不能100%確定他們應該在[0,1]或[0,255]的範圍內,資源狀態都是。此後,我不知道如何從n計算以及LipMap中獲得正確的值。計算結果出來之前或之後,這些數字是否應該歸一化?另外,你如何從Cr/Cb和標準化值中獲得正確的值,我似乎無法得到正確的值。

我一直試圖讓這個工作幾個小時,但我做錯了什麼。最後的一些價值總是很大。它們也不在它們應該是[0,1]或[0,255]的範圍內。

如果任何人有任何關於這個如何解決它或一些技巧的輸入,將不勝感激。

回答

0

如果你只是想找出嘴脣在臉上出現的位置,那麼使用haar級聯找到它們可能是值得的(我不知道你是否嘗試過這種方式,或者如果是這樣適合你的項目)

如果你真的需要找到良好的YUV閾值設置,你仍然可以使用haar級聯來找到嘴巴,然後在haar中挑選出你感興趣的區域內的像素知道通常會在嘴脣上包含一個像素。

這個像素會爲你提供一個YUV值作爲嘴脣上的一個隨機區域,然後你可以對圖像進行閾值包括所有像素的相似像素的YUV值(你可以找出這個有多嚴格在測試期間的閾值),然後你應該留下嘴巴的所有像素(足夠接近)

希望我已經解釋了,足以讓你理解。

祝你好運

+0

Mabye我應該在我的問題更清楚。現在我正在使用haar cascade來獲取臉部和嘴部區域。在口腔區域,我想要檢測口腔的圓錐體以及底部和底部。我想要實現的是獲得清晰的嘴脣輪廓,這樣我就可以獲得頂部,底部和兩個角落上的點。 – Holmis

+0

好的,所以我建議在你的嘴巴區域內找到一個區域,就像每個圖像中的「平均」部分,所以也許是中間的,或者可能就在上面/下面(所以不要得到線條在中間),取這個像素的YUV數據,然後用+/- 50的每個數值(50就是一個例子,你可以測試這個)對圖像進行閾值處理,然後應該給你一個嘴脣的面具。 – Aphire