1. 下载源码
1去github上下载GitHub - ros-perception/vision_opencv,进去后注意选择与自己的ros对应的版本:(我的为noetic)
如果你直接使用
git clone https://github.com/ros-perception/vision_opencv.git
来拉取的话cmake的时候会报错:
Make Error at CMakeLists.txt:4 (find_package):
By not providing "Findament_cmake_ros.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"ament_cmake_ros", but CMake did not find one.
Could not find a package configuration file provided by "ament_cmake_ros"
with any of the following names:
ament_cmake_rosConfig.cmake
ament_cmake_ros-config.cmake
Add the installation prefix of "ament_cmake_ros" to CMAKE_PREFIX_PATH or
set "ament_cmake_ros_DIR" to a directory containing one of the above files.
If "ament_cmake_ros" provides a separate development package or SDK, be
sure it has been installed.
出现这种错误的原因是你没有选择与自己的ros版本对应的源码,你可以通过手动下载并选择你对应的ros来解决这个问题。
2. 编译和安装:
cd cv_bride
mkdir build
cd build
cmake ..
make -j4
sudo make install
3. 环境配置
安装完成后你编译ROS工程中cv_bridge找不到,报如下错误:
Could not find a package configuration file provided by "cv_bridge" with
any of the following names:
cv_bridgeConfig.cmake
cv_bridge-config.cmake
这时候需要你把cv_bridge包移动到ros中去:
sudo cp -r /usr/local/share/cv_bridge /opt/ros/noetic/share/