2016-11-14 33 views
1

我正在使用在YCrCb空間中使用預定義skinmodel分割skinpixels的facedetection應用程序。 我鬆散地基於我的這個報告的算法; http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=767122&tag=1,Douglas Chai和King N. Ngan。降噪OpenCV skindetection示例

我首先分割出所有的皮膚像素(見左圖)。 之後,我執行一些計算以減少噪音(請參閱下面的步驟)。它會產生1/8大小的過濾位圖。理想情況下,這將在臉部和背景區域均無噪音,但事實並非如此。我已經嘗試通過使用我的密度圖來減少它,然後檢查相鄰的3x3區域像素,並根據它們的鄰居腐蝕/擴大像素值。然後,我調整這個位圖的大小,並將結果作爲掩模應用於原始圖像(請參閱右圖所示的結果,忽略我的審查)。

Left is skin pixel segmentation and right is en result

enter image description here

我的問題是,什麼方法?推薦爲擺脫噪音的? 另外,有沒有什麼好方法可以獲得更流暢的輪廓?理想情況下,我不想使用「找到最大的輪廓和洪水填充」,最好是更復雜的東西。

似乎有一點位移的調整大小的面具(它在我的右側臉上有點太多了,左側顯示的太多了)。什麼可能導致這種情況?

回答

0

使輪廓更平滑的最簡單方法是使用插值方案將數據內插到更高的分辨率。你可以看看openCV,這將導致點之間的平滑過渡。 我希望這會有所幫助。祝你好運。

+0

是的,我已經用不同的插值方法使用resize()和pyrUp()來獲得圖片中顯示的結果(INTER_CUBIC似乎迄今爲止產生了最好的結果)。我查看了文檔,但至今沒有發現任何更好的選擇。不管怎麼說,多謝拉。 – Hopploppa