opencv_createsamples "Ошибка подтверждения" - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь создать файл vec из моих положительных образцов изображений. Я использую последнюю версию OpenCV. Команда, которую я использую, такова:

opencv_createsamples -info Positive.info -num 3750 -w 24 -h 24 -vec Positive.vec

Все мои изображения больше, чем 24x24, поэтому я не верю, что это проблема. Я попытался выполнить поиск в Интернете, но никого не вижу с этой ошибкой при выполнении команды createamples. Вывод, который я получаю при запуске, таков:

Info file name: Positive.info
Img file name: (NULL)
Vec file name: Positive.vec
BG  file name: (NULL)
Num: 3750
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: 24
Height: 24
Max Scale: -1
RNG Seed: 12345
Create training samples from images collection...
OpenCV: terminate handler is called! The last OpenCV error is:
OpenCV(4.0.0-alpha) Error: Assertion failed (0 <= roi.x && 0 <= roi.width && roi.x + roi.width <= m.cols && 0 <= roi.y && 0 <= roi.height && roi.y + roi.height <= m.rows) in cv::Mat::Mat, file c:\build\master_winpack-build-win64-vc15\opencv\modules\core\src\matrix.cpp, line 465

Я впервые использую opencv, поэтому мне очень непонятно, что это за ошибка. Кто-нибудь имеет опыт работы с этим или может указать мне правильное направление для исправления ошибки?

1 Ответ

0 голосов
/ 09 января 2019

Это Приянка. Я также получал ту же ошибку, и я пытался как-то разрешить ее. Но я не смог ничего найти в интернете.

Но я могу решить проблему успешно. 2-3 вещи, которые отсутствовали, как показано ниже:

  1. Я использовал opencv_annotation.exe для генерации -info (текстовый файл). Эта утилита встраивает полный путь к изображению в файл, где, поскольку opencv_createsamples.exe ожидает, что изображения присутствуют в той же папке, что и файл -info. Так что раньше случалось, что путь к изображению сцеплялся с путем к файлу -info. Т.е. предположим, что файл -info доступен на D:\MyPath\DataSet\annotations.txt, а изображения на D:\MyPath\DataSet\Vehicles\*.png. В этом случае при выполнении opencv_createsamples.exe полный путь к образу становится равным D:\MyPath\DataSet\D:\MyPath\DataSet\Vehicles\image000.png, который утилита не может найти.

  2. Так что угождайте правильному пути, пожалуйста, позаботьтесь о вещах ниже

    • поместите файл -info по тому же пути, что и изображения.
    • убедитесь, что в файле -info нет пути к какому-либо изображению. Он должен содержать только

    <image name without complete path> <object instances> <x y, width height>

С этим изменением путь к изображению был выбран правильно, и моя проблема была решена.

Попробуйте сделать это. Это может помочь вам.

...