【问题标题】:OpenCV(3.4.1) Error: Assertion failed (_img.rows * _img.cols == vecSize)OpenCV(3.4.1) 错误:断言失败 (_img.rows * _img.cols == vecSize)
【发布时间】:2018-06-18 19:15:28
【问题描述】:

我尝试在 cmd 中运行 opencv_traincascade,但它立即崩溃并给出了输出。

opencv_traincascade -data data -vec pos.vec -bg neg.lst -numPos 31 -numNeg 
100 -numStages 10 -w 20 -h 20 
PARAMETERS:
cascadeDirName: data
vecFileName: pos.vec
bgFileName: neg.lst
numPos: 31
numNeg: 100
numStages: 10
precalcValBufSize[Mb] : 1024
precalcIdxBufSize[Mb] : 1024
acceptanceRatioBreakValue : -1
stageType: BOOST
featureType: HAAR
sampleWidth: 20
sampleHeight: 20
boostType: GAB
minHitRate: 0.995
maxFalseAlarmRate: 0.5
weightTrimRate: 0.95
maxDepth: 1
maxWeakCount: 100
mode: BASIC
Number of unique features given windowSize [20,20] : 78460

这是错误信息:

===== TRAINING 0-stage =====
<BEGIN
OpenCV(3.4.1) Error: Assertion failed (_img.rows * _img.cols == vecSize) in 
CvCascadeImageReader::PosReader::get, file C:\build\master_winpack-build- 
win64- 
vc15\opencv\apps\traincascade\imagestorage.cpp, line 153

我尝试删除所有opencv xml,因为它被建议在其他地方,这个问题发生接缝的另一个原因是,-w 20 - h 20 与图像的大小不匹配。因此我也加倍检查了。

可能会导致一些问题的盲目猜测是路径“C:\build\master_winpack-build-win64-vc15\opencv\apps\traincascade”是正确的。 imagesstorage.cpp 位于 C:\Users\azach\Downloads\opencv\sources\apps\traincascade

【问题讨论】:

  • 我有同样的错误!

标签: opencv haar-classifier


【解决方案1】:

我遇到这个问题是因为我忘记删除之前的级联分类器文件。

【讨论】:

    【解决方案2】:

    对我来说,问题是当我在上一步中使用 opencv_createsamples 创建 .vec 文件时,我使用了与 opencv_traincascade 不同的 -w-h 参数。为了解决这个问题,我所要做的就是重做 opencv_createsamplesopencv_traincascade,使其宽度和高度保持一致。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-14
      • 1970-01-01
      • 1970-01-01
      • 2018-11-29
      • 2018-05-20
      • 2015-02-27
      • 2017-10-26
      • 2016-11-27
      相关资源
      最近更新 更多