Opencv_createsamples 因分段错误而失败

Opencv_createsamples fails with segmentation fault

我目前正在尝试制作 HAAR 分类器。我制作了一个注释文件,并按照官方 openCV 教程中的描述完成了所有操作: https://docs.opencv.org/3.3.0/dc/d88/tutorial_traincascade.html 。 但是,当我尝试使用 opencv_createsamples 创建示例时,出现错误。我的命令:

opencv_createsamples -vec /some_dirs/samples/samples.vec -info /some_dirs/annotations/annotations.dat -w 8 -h 8 -num 100

错误:

信息文件名:/home/nikifaets/code/pointsProcessing/annotations/annotations.dat img 文件名: (NULL) Vec 文件名:/home/nikifaets/code/pointsProcessing/samples/samples.vec BG文件名:(NULL) 数量:100 背景色:0 BG阈值:80 反转:假 最大强度偏差:40 最大 x 角度:1.1 最大 y 角度:1.1 最大 z 角:0.5 显示示例:错误 宽度:8 身高:8 最大规模:-1 RNG 种子:12345 从图像集合创建训练样本... OpenCV 错误:调整大小断言失败(ssize.width > 0 && ssize.height > 0),文件 /build/opencv/src/opencv-3.4.0/modules/imgproc/src/resize.cpp,第 4044 行 在抛出 'cv::Exception' 的实例后调用终止 what(): /build/opencv/src/opencv-3.4.0/modules/imgproc/src/resize.cpp:4044: 错误: (-215) ssize.width > 0 && ssize.height > 0 in function resize</p> <p>已中止(核心已转储)

但是,如果我尝试只做两个样本(不知道为什么正好是 2...),它会运行并创建 .vec 文件,尽管我的数据集包含大约 300-400 张图片。

annotations.dat

的 Pastebin

在此先感谢您的支持!

已解决!感谢 Micka 提出解决方案并且是正确的。注释文件中有错误。兴趣点的描述之一是 0 0 0 0,这是无效的。始终仔细检查您的文件!