Я пытаюсь связать OpenCV с каталогом dar knet. Я работаю с Nvidia Jetson AGX Xavier (Ubuntu 18.04). До недавнего времени JetPack устанавливал OpenCV в каталог / usr. При такой конфигурации работало обнаружение в реальном времени дар knet (https://github.com/AlexeyAB/darknet) с веб-камерой.
Мне пришлось возобновить установку OpenCV, и теперь его каталог - home / user / OpenCV. Я не смог включить его в предыдущий каталог из-за отсутствия разрешений. Теперь каждый раз, когда я запускаю обнаружение dar knet в реальном времени с помощью команды
./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights -c 0
, я получаю этот журнал ошибок:
./darknet: error while loading shared libraries: libopencv_highgui.so.3.3: cannot open shared object file: No such file or directory
Когда я перекомпилирую dar knet ( cmake, make, install) Я получаю еще одно сообщение об ошибке:
Demo needs OpenCV for webcam images.
Итак, я предполагаю, что OpenCV не включен в компиляцию и dar knet не находит библиотеки. Я проверил следующие параметры:
- В Makefile dar knet OPENCV = 1 включено (дважды проверено, абсолютно уверен, что это не ошибка)
Я пытался экспортировать путь OpenCV в его предыдущий путь, например, с помощью экспорта OpenCV_DIR = / usr / share / OpenCV
Я пытался связать путь, например, с LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / usr / local / lib или LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / usr / share
Я думаю, что может быть возможность включить путь OpenCV в некоторый файл, связанный с cmake. В файле CmakeLists.txt есть строка
set(PThreads_windows_DIR ${CMAKE_CURRENT_LIST_DIR}/3rdparty/pthreads CACHE PATH "Path where pthreads for windows can be located")
endif()
set(Stb_DIR ${CMAKE_CURRENT_LIST_DIR}/3rdparty/stb CACHE PATH "Path where Stb image library can be located")
set(CMAKE_DEBUG_POSTFIX d)
set(CMAKE_THREAD_PREFER_PTHREAD ON)
find_package(Threads REQUIRED)
if(MSVC)
find_package(PThreads_windows REQUIRED)
endif()
if(ENABLE_OPENCV)
if(OpenCV_FOUND)
if(SELECT_OPENCV_MODULES)
Я думаю, здесь или, возможно, где-то еще, я должен включить новый путь к каталогу OpenCV. Я пытался с find_package или set_path, но я не уверен, что это была правильная точка для ввода этой опции. Также у меня нет файла с именем finOpencv.cmake.
У кого-то есть идея, как я мог бы сказать Дар 1050, где находится OpenCV?
Если вам нужна дополнительная информация, я буду рад поделиться.
Любая помощь приветствуется. Спасибо!
Редактировать: Если я включаю Find_Package (OpenCV) в CMakeLists.txt и перекомпилирую, я получаю этот вывод:
CMake Warning at CMakeLists.txt:96 (find_package):
By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "OpenCV", but
CMake did not find one.
Could not find a package configuration file provided by "OpenCV" with any
of the following names:
OpenCVConfig.cmake
opencv-config.cmake
Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set
"OpenCV_DIR" to a directory containing one of the above files. If "OpenCV"
provides a separate development package or SDK, be sure it has been
installed.