所以我一直试图运行命令
opencv_traincascade -data HandsData -vec hands.vec -bg HandsNeg.txt -numPos 3641 -numNeg 2578 -numStages 20 -w 27 -h 48 -mode ALL -minHitRate 0.999 -maxFalseAlarmRate 0.5 -precalcValBufSize 1024 -precalcIdxBufSize 1024
我收到了错误
===== TRAINING 0-stage =====
<BEGIN
POS count : consumed 3641 : 3641
OpenCV Error: Assertion failed (_img.cols == winSize.width) in get, file /builddir/build/BUILD/OpenCV-2.0.0/apps/traincascade/imagestorage.cpp, line 86
terminate called after throwing an instance of 'cv::Exception'
Aborted
我已经看到suggestions左右更改了正图像编号,我在其中使用1043而仍然得到相同的错误。然后我也看到suggestions编辑源代码。问题是我用yum构建了OpenCV,并且不想从源代码重建。
sudo find / -name imagestorage.cpp
什么都没有。
我完全不知道该做什么。
其他信息:我采取的步骤
我使用ffmpeg从一些视频创建了所有内容。这些来自手机,VLC将信息列为
Resolution: 1920x1090
Display resolution: 1920x1080
ffmpeg命令(用相应的视频和位置替换输入/输出)
steven ~/computer_vision $ ffmpeg -i videos/Not\ hands\ stuff.mp4 -y -r 40 -s 27x48 -f image2 NotHandsorFists/Negs-%4d.png
Hands.txt中的文件格式为
steven ~/computer_vision $ cat Hands.txt | head -n 1
Hands/LeftHand-0001.png 1 0 0 27 48
我用
编译了vec文件steven ~/computer_vision $ opencv_createsamples -info Hands.txt -num 3641 -w 27 -h 48 -vec hands.vec
否定文件的格式为
steven ~/computer_vision $ cat HandsNeg.txt | head -n 1
Fists/LeftFist-0001.png
,工作目录是
steven ~/computer_vision $ ls
Fists fists.txt Hands HandsData HandsNeg.txt Hands.txt hands.vec NotHandsorFists NotHandsorFists.txt videos
编辑: 我已经尝试将png更改为jpg和bmp来摆脱频道。没有帮助。