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, что недействительно. Всегда проверяйте свои файлы внимательно!