opencv_annotation.exe、opencv_createsamples.exe、opencv_traincascade.exe


【使用方法】主要是在cmd中使用命令行操作。打開文件夾D:\opencv349\x64\vc12\bin,可以看到這三個exe文件。按住鍵盤shift+鼠標右鍵,在此處打開Powershell窗口。具體命令見黃色背景

【樣本】框選缺陷的尺寸比例與opencv_createsamples.exe(生成vec)的w、h比例一致(會自動縮放到指定的w、h)。負樣本尺寸≥w、h。

【功能】

以檢測缺陷為例(目錄見下圖)。三個工具依次為:標注缺陷——生成正樣本的vec文件——訓練樣本。

opencv_annotation.exe,用來標注缺陷,完成后得到txt文件,內容如下。框選時框住缺陷即可。

opencv_createsamples.exe,生成vec文件。此工具可以把框選的缺陷縮放到指定大小(默認24*24像素,注意負樣本尺寸≥此像素),即所謂的歸一化。

opencv_traincascade.exe,生成cascade.xml,保存了訓練得到的模型參數,此文件用於測試。

【用法】

1、opencv_annotation.exe

若圖片過大,不建議使用此工具來標注,不方便放大或縮小。一般用於小於屏幕尺寸的圖片

如果圖片統一是等大的純缺陷圖(如20*20像素),那么可以不用此工具,直接仿照上圖在txt中添加內容即可(參考小技巧),個數、坐標統一 1 0 0 20 20。

超過屏幕尺寸的大圖標注,可以用https://github.com/tzutalin/labelImg/releases,得到xml文件中的坐標需要自己計算寬高,仿照上圖格式保存到txt中。

-a,生成的txt的路徑及txt名。-i,缺陷圖片的路徑。如果圖片高度>指定的m值,則縮小r倍顯示。

cmd中輸入:opencv_annotation -a=D:\data\NgImages\info.txt -i=D:\data\NgImages\

之后會遍歷展示D:\data\NgImages\中的缺陷圖,鼠標左鍵框選缺陷后,按鍵盤c鍵確認此框,d鍵放棄此框,n鍵下一幅圖,esc鍵退出。

完成后坐標結果會保存到info.txt中(注意txt與圖片在同一文件夾中)。

 2、opencv_createsamples.exe

刪除info.txt中D:\data\NgImages\,因為 -info D:\data\NgImages\info.txtD:\data\NgImages\會補全圖片路徑。

cmd中輸入:opencv_createsamples -info D:\data\NgImages\info.txt -vec D:\data\ng.vec

依據正樣本info.txt中坐標索引到真正框選的缺陷圖,將其特征編譯為二進制文件ng.vec

常用參數說明:注意-info -vec這兩個參數設置后,-bg失效,所以此處不列出。

-info  上一步中得到的info.txt的路徑;
-vec  生成vec文件的路徑、vec文件名;
-num 生成的正樣本的最大數目,默認1000。若正樣本圖片數>設定值,則只生成設定值個正樣本,否則生成實際個數個。
-w   正樣本縮放到的寬度,默認24像素
-h   正樣本縮放到的高度,默認24像素

3、opencv_traincascade.exe

此處會用到負樣本。在負樣本圖片所在目錄新建okInfo.txt,內容是所有負樣本圖片名(不帶路徑),如1.jpg等(如果提示錯誤,就把絕對路徑加上如D:\data\background\1.jpg)。

opencv_traincascade -data D:\data\ -vec D:\data\ng.vec -bg D:\data\OkImages\okInfo.txt -numStages 25 -numPos 30 -numNeg 200 -umStaes 25 -w 24 -h 24 -minHitRate 0.995 -maxFalseAlarmRate 0.5 -mode ALL

注意-w 24 -h 24與第2步驟的尺寸要一致,-numPos用於訓練每層的正樣本數opencv_createsamples.exe得到的正樣本數,-numNeg無要求,參數含義不再贅述

最終得到訓練好的級聯分類器的最終參數文件cascade.xml此文件可用於測試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM