| 
 | 
 
 
2.生成.vec檔案 
 
vec檔案是為樣本訓練所使用的  
 
開啟cmd 切換到當前的工作目錄下,執行以下命令: 
 
- opencv_createsamples.exe -vec pos.vec -info posdata.txt -num 50 -w 20 -h 20
 
  複製代碼 
 
-info,指樣本說明檔案 
 
-vec,樣本描述檔案的名字及路徑 
 
-num,總共有多少張樣本圖 
 
-w -h指明想讓樣本縮放到什麼尺寸。這裡的奧妙在於你不必另外去處理第1步中被矩形框出的圖片的尺寸,因為這個引數幫你統一縮放!(我們這裡準備的樣本都是20*20) 
 
執行結束後,會在當前目錄生成一個pos.vec的檔案。 
 
  
 
3. 訓練樣本 
 
- opencv_traincascade.exe -data xml -vec pos.vec -bg negdata.txt -numPos 45 -numNeg 300 -numStages 15 -w 20 -h 20 -mode ALL
 
  複製代碼 
 
這裡要注意大小寫。 
 
-numStages,層級數 
 
-numPos ,正樣本數 
 
-numNeg ,負樣本數 
 
-fmaxfalsealarm,最大誤檢率的值應該設定在0.4-0.5之間 
 
  
 
訓練完成後在xml裡面會生成 cascade.xml (這就是我們所需要的分類器),等下拿這個檔案去檢測。 
 
  
 
3.1 可能會出現的問題 
 
問題一:Train dataset for temp stage can not be filled.Branch training terminated. 
 
Cascade classifier can't be trained.Check the used training parameters. 
 
解決: negdata.txt 檔案不要替換,儲存為以下格式就ok了。  
negdata/1.jpg 
 
negdata/10.jpg 
 
negdata/100.jpg 
 
negdata/101.jpg 
 
negdata/102.jpg 
 
問題二:Error :Bad argument (can not get new positive sample).The most possible reason is insufficient count of samples in given vec-file. 
 
解決: 將命令列中的numPos改小一些,即可接著現有的層級訓練(減少50%左右即可)。  
4.檢測效果 
 
 
文章出處 
 
網頁設計,網站架設 ,網路行銷,網頁優化,SEO - NetYea 網頁設計 
 |   
 
 
 
 |