2012-09-12 181 views
0

我在使用EmguCV在c#中執行皮膚檢測方法。對於皮膚檢測,我指的是article。我是EmguCV的新手。我只想知道如何獲取或設置通過網絡攝像頭捕捉的圖像的每個像素值。如果皮膚像素匹配,它變成白色或其他黑色。我只想要像素的RGB值而不會降低應用程序的性能。EmguCV皮膚檢測

回答

1

獲得或容易地設置圖像的每個像素值,你這樣做如下

Image<Bgr, Byte> img = .... 

for (i = 0; i < img.Height; i++) 
{ 
    for (k = 0; k < img.Width; k++) 
    { 
     // Get 
     // Color (R, G, B, alpha) 
     Color c = img[i, k]; 

     // Set 
     img[i,k] = new Bgr(); 
     } 
} 

將寫就地

+0

我試過這個代碼。它在圖像上工作正常,但對於實時視頻饋送而言,它會減慢速度。在emgucv中是否有任何背景刪除技術。我也嘗試過_foreground探測器技術。但它也會減慢程序。 –

+0

你可以嘗試某種掩模來減少全圖像處理 –

+0

每個循環都不訪問img.height和width - 這是問題的一部分。還有一種更快的方式來使用指針訪問圖像中的數據。 –