基于opencv3.4.1(https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.1.0/opencv-3.1.0.exe/download)+contrib(https://github.com/opencv/opencv_contrib/releases),下載下傳相應版本。cmake下載下傳msi版本。(https://cmake.org/files/)
一、配置過程。
1.打開cmake。

build2檔案夾自己建。選擇環境,本人vs2015,x64平台。點configure後。等待結束。
添加contrib檔案夾路徑,上面一個打勾。
再點選configure,結束後,點選Generate,結束後,點選Open Project.
2.
Debug X64
右擊解決方案‘Opencv’,點生成解決方案。
3.找到CMakeTargets中的INSTALL,然後右鍵選擇“僅限于項目”-->“僅生成INSTALL”:
二、Opencv的配置
打開vs2015,建立空檔案。
屬性管理器:
Debug|x64
Microsoft.Cpp.x64.user屬性
1.包含目錄:
D:\Program Files\opencv\build2\install\include
D:\Program Files\opencv\build2\install\include\opencv
D:\Program Files\opencv\build2\install\include\opencv2
2.庫目錄:
D:\Program Files\opencv\build2\install\x64\vc14\lib
3.連結器->輸入
opencv_world341d.lib
opencv_img_hash341d.lib
三、利用opencv訓練基于Haar特征、LBP特征、Hog特征的分類器cascade.xml
opencv_createsamplesd.exe
opencv_traincascaded.exe
這兩個exe執行程式的路徑為:
D:\Program Files\opencv\build2\install\x64\vc14\bin
1、搜集正樣本、負樣本
正樣本:隻含有目标的局部圖(若是全圖,則需要把目标截取出來,比如訓練人臉,則把人臉從含有人臉的圖檔中截取出來,尺寸要一緻),且背景不要太過複雜,灰階圖
正樣本大小:20*20(一般用于Haar特征),24*24(LBP特征)
正樣本數量:一般大于等于2000
負樣本:不含目标的任何圖檔,灰階圖
負樣本大小:60*60
負樣本數量:一般大于等于5000
注:正樣本尺寸越小,訓練的時間越短,但正樣本的尺寸要保證小于負樣本的尺寸
2、在路徑D:\Program Files\opencv\build2\install\x64\vc14\bin下建立3個檔案夾:pos、neg、xml
3、将正樣本、負樣本分别複制到pos檔案夾、neg檔案夾
4、cmd打開dos指令視窗,進入pos路徑下
輸入以下指令,生成pos.txt
dir/b >pos.txt
生成pos.txt後,将png替換為:
png 1 0 0 24 24
删除最後一行的pos.txt
5、同樣進入neg路徑下
輸入以下指令,生成neg.txt
dir/b >neg.txt
生成neg.txt後,将neg.txt中的圖檔名字前面加入路徑:
neg/
删除最後一行的neg.txt
6、進入路徑D:\Program Files\opencv\build2\install\x64\vc14\bin,即pos、neg、xml所在的路徑,輸入以下指令,生成pos.vec
opencv_createsamplesd.exe -info pos\pos.txt -vec pos.vec -bg neg\neg.txt -num 2000 -w 24 -h 24
1
7、輸入以下指令開始訓練
opencv_traincascaded.exe -data xml -vec pos.vec -bg neg\neg.txt -numPos 1800 -numNeg 4000 -numStages 20 -featureType LBP -w 24 -h 24
8、訓練結束後,
xml
檔案夾下的
cascade.xml
檔案就是訓練好的分類器