opencv 零零碎碎

orbslam3 的ros接口只有订阅传感器数据的接口,不会发布tf,也不会生成地图,只能支持opencv4.4.0,4.5.0是肯定不行的。

安装人ros版本的时候,先执行build.sh 然后执行build_ros.sh即可

#######################################################################

环境是ubuntu20.04,因为要用ROSEFusion,所以安装opencv4.5.0 cuda版本,编译的时候注意如下,与ceres2.0不兼容,因为前者只能支持c++14编译,所以ceres需要用1.14版; cuda 版本 安装需要opencv_contrib-4.5.0,我把opencv_contrib-4.5.0放在opencv-4.5.0外面了,这个随意,就是设置一下参数的事情

cd opencv-4.5.0

mkdir build

cd build

cmake -D WITH_CUDA=ON -D WITH_CUDNN=ON -D CUDA_ARCH_BIN="8.6" -D CUDA_ARCH_PTX="" -D OPENCV_GENERATE_PKGCONFIG=ON -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.5.0/modules -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

make -j16

sudo make install

注意:CUDA_ARCH_BIN表示显卡算力,我的显卡是RTX3090,算力是8.6,因此必须加上这个,否则会因为算力不匹配出问题

你可能感兴趣的:(opencv,linux,ubuntu)