Невозможно добавить дополнительные модули в OpenCV (даже с соответствующими версиями opencv/opencv_contrib)
Я пытаюсь установить OpenCV с дополнительными модулями на компьютер под управлением Ubuntu 14.04.2 (мне нужна эта конкретная версия Ubuntu, так как я использую другое оборудование, которое требует этого). Я смог сделать это на Raspberry Pi 3 только на прошлой неделе (с Ubuntu Mate 16.04.3), но сейчас я просто не могу понять, как это правильно.
Я знаю, что opencv_contrib-версия должна совпадать с opencv-версией, и я попытался собрать много разных версий без удачи (3.4.0, 3.3.0, 3.2.0, 3.1.0).
После загрузки соответствующих версий opencv и opencv_contrib я выполняю следующие команды из терминала:
$ cd opencv
$ mkdir build
$ cd build
$ cmake -D OPENCV_EXTRA_MODULES_PATH =../../opencv_contrib/modules..
где обе папки opencv и opencv_contrib расположены на рабочем столе, поэтому "../../opencv_contrib/modules"-path должен быть правильным.
Но дополнительные модули не построены. Вот части вывода cmake:
- Модули OpenCV:
- Будет построен: основной фланг imgproc ml objdetect фото видео dnn imgcodecs shape videoio highgui superres ts features2d calib3d шить videotab
- Отключено: мир
- Отключено по зависимости: -
- Недоступно: cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java python2 python3 viz
И, как вы можете видеть, включены только стандартные модули. Я видел много людей, имеющих ту же проблему, но решение всегда заключалось в том, чтобы иметь соответствующие версии opencv / opencv_contrib. Теперь, когда я знаю, что версии верны, я понятия не имею, что я делаю неправильно.
1 ответ
У вас есть дополнительные пробелы вокруг =
в вашем cmake
вызов, поэтому путь не будет установлен правильно. Удалите два пробела, и у вас все будет хорошо:
cmake -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..