2013-08-21 63 views
0

我遇到了我的人員檢測代碼問題。我正在使用Emgucv庫,它最終會拾取與人無關的對象...是否缺少了一些內容?我怎樣才能讓它變得更好?Emgucv人員檢測

   Rectangle[] regions; 
       int indexx = 0; 
       using (HOGDescriptor des = new HOGDescriptor()) 
       { 
        des.SetSVMDetector(HOGDescriptor.GetDefaultPeopleDetector()); 
        regions = des.DetectMultiScale(currentFrame.Copy()); 
       } 

       foreach (Rectangle rect in regions) 
       { 
        indexx++; 
        currentFrame.Draw(rect, new Bgr(Color.Red), 2); 
       } 

       if (regions.Count() > 0) 
        currentFrame.Save("pedestre\\pedestre0" + indexx + ".jpg"); 

回答

1

根據您的測試/應用環境,人員檢測結果可能會有所不同。你最好的選擇可能是訓練算法,以便在你的特定條件下最好地工作。

如果您希望算法能夠在特定的條件下工作,比如特定的,封閉的和受控制的環境,那麼您最好的辦法就是訓練您的算法來處理這種環境。

如果您希望您的檢測適用於更多不同的條件,則可能必須搜索有關人員檢測或圖像過濾的文章,以瞭解您在應用程序真實世界中使用的條件。在使用分類器之前,您可以嘗試進行一些圖像預處理 - 例如,有時候可以使用簡單的直方圖normaliztior,例如,可以提高您的結果,足以滿足您的應用需求。

+0

感謝迭戈, 我會嘗試用新測試做一些測試,並按照您說話的方式查看算法。再次感謝。 – Rsouza