Opencv_createsamples завершается с ошибкой сегментации

В настоящее время я пытаюсь сделать классификатор 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

Ошибка:

Info file name: /home/nikifaets/code/pointsProcessing/annotations/annotations.dat Img file name: (NULL) Vec file name: /home/nikifaets/code/pointsProcessing/samples/samples.vec BG file name: (NULL) Num: 100 BG color: 0 BG threshold: 80 Invert: FALSE Max intensity deviation: 40 Max x angle: 1.1 Max y angle: 1.1 Max z angle: 0.5 Show samples: FALSE Width: 8 Height: 8 Max Scale: -1 RNG Seed: 12345 Create training samples from images collection... OpenCV Error: Assertion failed (ssize.width > 0 && ssize.height > 0) in resize, file /build/opencv/src/opencv-3.4.0/modules/imgproc/src/resize.cpp, line 4044 terminate called after throwing an instance of 'cv::Exception' what(): /build/opencv/src/opencv-3.4.0/modules/imgproc/src/resize.cpp:4044: error: (-215) ssize.width > 0 && ssize.height > 0 in function resize

Aborted (core dumped)

Однако, если я попытаюсь сделать только два примера (не знаю, почему именно 2...), он запустится и создаст файл.vec, хотя мой набор данных включает в себя около 300-400 изображений.

Pastebin of annotations.dat

Заранее спасибо за поддержку!

1 ответ

Решение

Решено! Спасибо Мике за предложение решения и за то, что он прав. Произошла ошибка в файле аннотаций. Одно из описаний интересующей точки было 0 0 0 0, что недействительно. Всегда проверяйте свои файлы внимательно!

Другие вопросы по тегам