2

私は ROS Melodic で OpenCV を使用しています。私がインストールした OpenCV 4 に含まれている cv::dnn (ディープ ニューラル ネットワーク) を使用し、次のように 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でどのノードもrosrunできません。

誰かが cv_bridge (ROS 旋律システム) で OpenCV 4 を設定する方法を教えてくれますか?

前もって感謝します。よろしく、ジョヴァン。

4

2 に答える 2

2

画像関連のものに使用されるROSに同梱されているopencvがあります。cv_bridge、image_geometry などの一部の ROS パッケージは、デフォルトでこの opencv を使用します。異なるopencvバージョンが異なる形式で画像を保存しているため、これがセグメンテーション違反が発生する理由です。

ノード内でカスタム opencv を使用する場合は、これらのパッケージを作業ディレクトリに含めて、コンパイルする必要があります。たとえば、ノードの cmakelistにcv_bridge ソース コードを含める必要があります。

于 2019-11-22T07:41:02.743 に答える