當前位置:編程學習大全網 - 源碼下載 - 如何使用opencv 訓練分類器以及訓練過程中的問題

如何使用opencv 訓練分類器以及訓練過程中的問題

網上提供的級聯分類器訓練都是基於opencv_haartraining。照著上面的步驟成功訓練出了xml,但是用於識別的過程中,識別率很低。改換幾次樣本後,檢測效果還是壹般。想想估計是自haar特征不能很好區分,所以想通過opencv_traincascade訓練下Lbp。將經驗寫下來,供自己以後回顧和其它人參考。 工具/原料 opencv2.1 (2.0版本以上均可) 方法/步驟 1 準備好正負樣本圖片,正樣本就是含有目標的圖片,負樣本就是不還有目標的圖片,建好文件夾,如圖所示。其中正樣本圖片最好是裁剪成同壹尺寸,我這裏是建成30*30,便於後期的說明文件的建立。圖片的編輯我使用的是美圖看看,批量編輯工具,可以批量將圖片改成同壹尺寸。 2 建立正負樣本說明文件,在cmd下進入pos文件夾目錄裏,輸入 dir /b > pos.txt,用editplus打開該文件,刪除最後壹行,最後將名字歸壹化如下所示:同樣的方法進入neg文件夾內,用同樣的方法建立描述文件neg.txt,用editplus打開該文件,只需刪掉最後壹行 3 創建vec文件:將opencv_createsamples.exe和 opencv_traincascade.exe放到圖片文件夾的上層目錄,利用opencv_createsamples.exe應用程序在該目錄下使用如圖cmd命令: 其中的-vec是指定後面輸出vec文件的文件名,-info指定正樣本描述文件,-bg指定負樣本描述文件,-w和-h分別指正樣本的寬和高,-num表示正樣本的個數。執行完該命令後就會在當前目錄下生產壹個pos.vec文件了。 4 使用opencv_traincascade.exe文件進行訓練 首先在當前目錄下新建壹個dt文件夾用於存放生成的.xml文件。 在當前目錄使用cmd命令: D:\>opencv_traincascade.exe -data dt -vec pos.vec -bg neg/neg.txt -numPos 100 -n umNeg 300 -numStages 16 -precalcValbufSize 200 -precalcdxBufSize 1000 -featureTy pe LBP -w 30 -h 30截圖如下:其中-data 輸出目錄,-numPos正樣本數目-numNeg負樣本數目-numStages訓練級數

  • 上一篇:wps公式大全及使用方法
  • 下一篇:請問壹下各位,從法律角度上講“溯源”和“防偽”的區別和聯系?
  • copyright 2024編程學習大全網