Почему cv_bridge использует OpenCV 3.2 в ROS Melodic? - PullRequest
0 голосов
/ 23 мая 2019

У меня установлен OpenCV 3.4 в Ubuntu 18. Я также установил ROS Melodic в соответствии с инструкциями на сайте.Тем не менее, я продолжаю получать сообщение об ошибке, что libopencv_core.so.3.2 требуется.

Я уже установил свои файлы CMakeLists, чтобы они указывали на OpenCV 3.4.Однако я обнаружил, что в файле:

/ ros / melodic / share / cv_bridge / cmake / cv_bridgeConfig.cmake

есть следующая строка, жестко закодированная в opencv3.2:

set(libraries "cv_bridge;/usr/lib/x86_64-linux-gnu/libopencv_core.so.3.2.0;/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.3.2.0;/usr/lib/x86_64-linux-gnu/libopencv_imgcodecs.so.3.2.0").

Я пытался изменить его на 3.4, но не могу восстановить его.

Я получаю ошибку:

/opt/ros/melodic/lib/image_view/image_view: error while loading shared libraries: libopencv_core.so.3.2: cannot open shared object file: No such file or directory

Почему OpenCV 3.2 жестко закодирован в cv_bridge икак мне перестроить его с помощью OpenCV 3.4?

Обновление: В конце концов я установил OpenCV 3.2, и он работал правильно.

1 Ответ

0 голосов
/ 23 мая 2019

Потому что скорость разработки opencv намного выше, чем у отдельного модуля ROS.И многие модули ROS обесценились после того, как кто-то ушел с работы.

Но это далеко не конец дня (может быть, конец дня для новичков).Вы можете создать его напрямую с любой версией функции ядра opencv (кроме функции imshow), которую другие должны выполнять просто отлично.

Самый простой способ сделать это: в консоли перед выполнением catkin_make попытаться выполнить следующее

export CMAKE_PREFIX_PATH=/usr/local:$CMAKE_PREFIX_PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

Это должно дать предпочтение вашей пользовательской установке OpenCV при выполнении find_package (OpenCV 3.X.0 ТРЕБУЕТСЯ).Затем скомпилируйте и используйте функцию этой версии.

Что ж, если вам нужно использовать 3.4, то я думаю, что вам нужно собрать ros-версию opencv и image transport и cvbridge для 3.4, если вы на это нацеливаетесь.

Вы можете найти ссылку здесь https://github.com/ros-gbp/opencv3-release Максимальное значение, которое они предоставляют, составляет 3,3

enter image description here

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