OpenCV错误:断言失败(_img.cols == winSize.width)

时间:2015-09-06 19:48:03

标签: opencv centos

所以我一直试图运行命令

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来摆脱频道。没有帮助。

0 个答案:

没有答案