2014-01-22 76 views
0

我新的圖像處理。在我的應用程序中,我想檢測並移除眼睛周圍的皮膚。 enter image description here皮膚檢測和清除在Emgucv

在上述圖像我想提取眼睛區域(和眼眉)沒有皮膚。

首先,我試圖從圖像去除皮膚之前執行皮膚檢測。我以前在emgu簡歷AdaptiveSkinDetector方法,這裏是我的代碼

AdaptiveSkinDetector a = new AdaptiveSkinDetector(1, AdaptiveSkinDetector.MorphingMethod.ERODE); 
Image<Gray, Byte> skin = new Image<Gray, Byte>(ImageFramecolourrighteye.Width, ImageFramecolourrighteye.Height); 

a.Process(ImageFramecolourrighteye, skin); 

CvInvoke.cvShowImage("Skin detection", skin); 

但它沒有檢測皮膚。我的代碼中是否有錯誤? 有沒有更好的方法來進行皮膚檢測? (使用顏色,也許?) 引用/代碼示例會很有用。

您的幫助是高度讚賞

在此先感謝

+0

您是否嘗試將圖像設置爲二進制形式? –

+0

是,使用該代碼 圖片 Binary_Image = eyebrow_img_crop.ThresholdBinary(新灰色(threshold_value),新的灰度(255)); 但沒有表現出預期的結果 – gouthaman93

回答

1

不知道關於Emugcv但如果你datast與你一致。例如,我覺得局部二元模式可以用來檢測眼睛的輪廓(沒有皮膚)。 你可以找到在here詳細解釋here和實現。即使實現在matlab中,希望它有幫助。

0

皮膚是一個非常好的例子,通過色調,使用色調進行檢測,並使用飽和度和價值進行檢測,直到您達到最少數量,例如下面的例子中有很多。 色調檢測將允許您獲取皮膚,無論其顏色或亮度如何。

http://bytefish.de/blog/opencv/skin_color_thresholding/