ros kineticのcv_bridgeはopencv 2に基づいて変更する.X


ros kineticテープのcv_bridgeはopencv 3に基づく.xの、いくつかの既存の工事プロジェクトでopencv 2を引き続き使用する必要がある.X.2つのバージョンopencvが共存する場合、/opt/ros/kinetic/share/cv_を変更してもbridge/cmakeのcv_bridgeConfig.cmake、コンパイルに成功し、プログラムでcv_まで実行できます.bridgeのいくつかの関数ではエラーが発生します.なぜならcv_bridge依存dライブラリはopencv 3である.xでコンパイルされた場合、rosに関連するすべてのopencvを統一する必要があります.方法は以下の通りである:1.古いcvをbridgeアンインストール:
sudo apt-get remove ros-kinetic-cv-bridge

2.次のcv_をやり直すbridge、kineticバージョンをダウンロードすることをお勧めします.https://github.com/ros-perception/vision_opencv/tree/kineticあるいは端末で実行する
git clone https://github.com/ros-perception/vision_opencv.git

3.cv_の変更bridgeのcmakelists.txtは、前の:
find_package(OpenCV 3 REQUIRED
  COMPONENTS
    opencv_core
    opencv_imgproc
    opencv_imgcodecs
 CONFIG
)

次のように変更します.
set(OpenCV_DIR /usr/local/opencv2.4.13.1/share/OpenCV)#       opencv share  
find_package(OpenCV 2.4.13.1 EXACT REQUIRED)

4.cv_の再コンパイルbridgeパッケージ:
cd ~/catkin_ws/src/cv_bridge
mkdir build
cd build
cmake ..
make
sudo make install

コンパイル中にエラーが発生し、cv_をbridge/src/cv_bridge.cppの
#include 

置換
#include 

できます.
以前のcv_bridgeはアンインストールされましたcmakelists.txtに一言追加する必要があります.set(cv_bridge_DIR /usr/local/share/cv_bridge/cmake)//find_パッケージの前にcv_を検索bridge.config.cmakeのパス.
5.python呼び出しcv_bridgeの場合、~/.bashrcで追加
export LD_LIBRARY_PATH=/usr/local/lib/