簡體   English   中英

如何將 OpenCV 4 與 ROS (cv_bridge) 鏈接

[英]How to link OpenCV 4 with ROS (cv_bridge)

我在 ROS Melodic 中使用 OpenCV,我現在需要使用 cv::dnn(深度神經網絡),它包含在我已安裝的 OpenCV 4 中,並將其設置為我的 CMakeLists.txt,如下所示:

find_package(OpenCV 4 REQUIRED )

這是我在 ros 工作區中執行命令時收到的警告: catkin_make

/usr/bin/ld:警告:/opt/ros/melodic/lib/libcv_bridge.so 需要的 libopencv_imgcodecs.so.3.2,可能與 libopencv_imgcodecs.so.4.1 沖突

我忽略了這一點,但我現在無法使用 opencv 運行任何節點。

有人可以幫我如何在 cv_bridge(ROS 旋律系統)中設置 OpenCV 4 嗎?

提前致謝。 最好的問候,約萬。

有一個 opencv 隨 ROS 一起提供,用於圖像相關的東西。 一些ROS包如cv_bridge、image_geometry等默認使用這個opencv。 這就是您出現分段錯誤的原因,因為不同的 opencv 版本以不同的格式存儲圖像。

如果您想在您的節點中使用自定義 opencv,您必須將這些包包含在您的工作目錄中並同時編譯它們。 例如,您必須在節點的 cmakelist 中包含cv_bridge 源代碼

一個簡單的解決方案是從https://github.com/ros-perception/vision_opencv/releases下載合適版本的 vision_opencv。 然后將內容(包含一些包cv_bridge image_geometry opencv_tests vision_opencv )提取到 catkin 工作區中src文件夾的vision_opencv文件夾中。

現在catkin_make或 catkin catkin build您的工作區,必要的 ros opencv 包將編譯並鏈接到本地vision_opencv文件夾。 在此之前,您可能需要清理工作區。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM