2014-03-25 50 views
2

我想在android中檢測整個人體有沒有辦法做到這一點? 我認爲在opencv中有一個簡單的方法。但我很新的android和我不知道如何在android中使用opencv。如何在android中檢測人體

+0

嘗試一個OpenCV教程。例如:[Android OpenCV開發](http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html)。 –

回答

6

您可以集成opencv級聯分級器(here is tutorial)。

Opencv提供了幾個已經訓練過的xml文件,可以檢測臉部,眼睛和身體。 您還可以訓練你的目標對象,以獲取自己的XML文件(這裏是一個tuto如何從你的劃痕訓練)

現在,針對Android,您需要安裝Opencv4android SDK(here)。安裝完成後,您會發現一些提供的樣本,您需要使用「人臉檢測」樣本,然後在代碼中將用於人臉檢測的xml替換爲用於人體檢測的xml。 OpenCV中將爲您提供(haarcascade_upperbody.xml,hogcascade_pedestrians.xml)

這裏是你有什麼檢查來代替(在FdActivity.java):

try { 
      // load cascade file from application resources 
      InputStream is = getResources().openRawResource(R.raw.lbpcascade_frontalface); 
      File cascadeDir = getDir("cascade", Context.MODE_PRIVATE); 
      mCascadeFile = new File(cascadeDir, "lbpcascade_frontalface.xml"); 
      FileOutputStream os = new FileOutputStream(mCascadeFile); 
......... 
+0

是否可以做所有三個,我的意思是面部,上半身和行人? –

+0

如果您可以表示您的訓練數據,則很可能使用級聯分類器 – dervish

0

火車一HOG分類和使用它。還包括其他功能,如縮放空間和可能變形零件模型類型,因此您可以檢測到彎曲的人。