opencv 与 cv_bridge 版本的兼容问题

ubuntu 20.04 安装的ros 为 noetic,opencv 版本默认为 4.2, 如果我们安装了别的版本的 opencv 就需要重新编译 cv_bridge。

git clone https://github.com/ros-perception/vision_opencv.git
cd vision_opencv/cv_bridge
git checkout noetic
# 编译
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/workspace/cv_bridge ..
make -j4
sudo make install

在你的项目中的 cmakelists 文件中添加:

set(OpenCV_DIR "/workspace/opencv-4.5.4/lib/cmake/opencv4")
find_package(OpenCV 4 QUIET)

参考:https://gitee.com/zheng-yongjie/vins-fusion-gpu-cv4?skip_mobile=true

编译 cuda opencv:

cd /root/opencv-4.5.4/build &&
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.4/modules \
-D CUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda \
-D CMAKE_INSTALL_PREFIX=/workspace/opencv-4.5.4 \
-D WITH_CUDA=ON \
-D CUDA_ARCH_BIN=7.2 \
-D CUDA_ARCH_PTX=7.2 \
-D ENABLE_FAST_MATH=ON \
-D CUDA_FAST_MATH=ON \
-D WITH_CUBLAS=ON \
-D WITH_LIBV4L=ON \
-D WITH_GSTREAMER=ON \
-D WITH_GSTREAMER_0_10=OFF \
-D WITH_QT=OFF \
-D WITH_GTK=ON \
-D WITH_OPENGL=ON \
-D CUDA_NVCC_FLAGS="--expt-relaxed-constexpr" \
-D WITH_TBB=ON ..
make -j16
sudo make install

这会将 opencv 安装到 /workspace/opencv-4.5.4 目录。如果我们想迁移 opencv 到另外一台电脑。我们直接 copy /workspace/opencv-4.5.4 目录即可, 不需要再重新编译。然后把 cmakelist 更改为新的路径,如:

set(OpenCV_DIR "/workspace/vio_gpu_env/opencv-4.5.4/lib/cmake/opencv4")
find_package(OpenCV 4 REQUIRED)

然后我们重新编译 cv_bridge 即可。

运行: sudo make install 就会把代码安装到你指定的 CMAKE_INSTALL_PREFIX 文件夹下。我们就可以把之前下载的东西都删除掉,只保留 指定的 CMAKE_INSTALL_PREFIX 文件夹就可以了。

posted @   Zenith_Hugh  阅读(205)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-10-25 【年龄估计】SSR-Net: 一个小型的 软分段回归网络 用于年龄估计
2022-10-25 搜集的 AI 博客网站
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

微信打赏