国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Ubuntu 20.04 配置 VINS-Fusion-gpu + OpenCV 4.6.0

這篇具有很好參考價(jià)值的文章主要介紹了Ubuntu 20.04 配置 VINS-Fusion-gpu + OpenCV 4.6.0。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

準(zhǔn)備工作:

(1)電腦裝有 NVIDIA 顯卡

(2)安裝 ROS noetic/Installation/Ubuntu - ROS Wiki

(3)安裝 cuda Ubuntu安裝cuda_GXU_Wang的博客-CSDN博客

(4)安裝 ceres 1.14.0 Ubuntu20.04安裝Ceres1.14.0_我是你de不死的bug的博客-CSDN博客

一、安裝OpenCV 4.6.0

下載 opencv 源碼,選擇所需要的版本 opencv 4.6.0,相應(yīng)的擴(kuò)展opencv_contrib 4.6.0,以及用于橋接 ROS 和 opencv 的 cv_bridge

Release OpenCV 4.6.0 · opencv/opencv · GitHub

Release 4.6.0 · opencv/opencv_contrib · GitHub

https://github.com/ros-perception/vision_opencv/tree/

考慮將 opencv 安裝在 /usr/local/opencv-4.6.0下,移動(dòng)opencv及其擴(kuò)展模塊并進(jìn)入工作目錄

sudo mv ./opencv-4.6.0/ /usr/local/
sudo mv ./opencv_contirb-4.6.0/ /usr/local/
cd /usr/local/opencv-4.6.0/

編譯前現(xiàn)確定 opencv 的安裝路徑,我的安裝路徑是

CMAKE_INSTALL_PREFIX=/usr/local/opencv-4.6.0

確定自己顯卡的算力

CUDA GPUs - Compute Capability | NVIDIA Developer

注意 cuda 要根據(jù)自己的需求安裝,不要裝 cuda 12 編譯會(huì)報(bào)錯(cuò),可以裝稍微低一點(diǎn),可以參考

不同版本CUDA支持的算力_WenZhaoYang123468的博客-CSDN博客

編譯 opencv 4.6.0,

sudo mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE \
        -D CMAKE_INSTALL_PREFIX=/usr/local/opencv-4.6.0 \
        -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-4.6.0/modules \
        -D WITH_CUDA=ON \
        -D CUDA_ARCH_BIN=7.2 \
        -D CUDA_ARCH_PTX="" \
        -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=ON \
        -D WITH_OPENGL=ON \
        -D CUDA_NVCC_FLAGS="--expt-relaxed-constexpr" \
        -D WITH_TBB=ON \
        ..

電腦性能好的話可以多核編譯 make -j8,如果出現(xiàn)兼容性錯(cuò)誤的花建議用 make,速度慢一點(diǎn)

make -j8
sudo make install

這里編譯會(huì)很慢,耐心等待,只要一開始沒有什么報(bào)錯(cuò)后面就不會(huì)報(bào)錯(cuò)。

二、配置自己的 cv_bridge 功能包

因?yàn)?opencv 的數(shù)據(jù)和 ROS 的數(shù)據(jù)需要轉(zhuǎn)化,因此需要通過 cv_bridge 這個(gè)橋接工具,接下來我們介紹怎么自己下載安裝并配置一個(gè)自己的 cv_bridge 功能包。

首先,創(chuàng)建一個(gè) ROS 的工作空間

mkdir -r ~/cv_bridge_460/src/
cd ~/cv_bridge_460/src/

然后,下載對應(yīng)版本的源碼,因?yàn)槭?Ubuntu 20.04 因此下載 noetic 版本

GitHub - ros-perception/vision_opencv at noetic

下載完成后解壓到 ~/cv_bridge_460_ws/src/ 目錄下,因?yàn)槲覀冎恍枰?cv_bridge,所以只需保留 cv_bridge 文件夾,將其放在 ~/cv_bridge_460_ws/src/,重命名為cv_bridge_460,然后修改一下 cv_bridge_460 的配置文件。

(1)CMakeLists.txt 文件

在 set(_opencv_version 4) 前面添加你的 opencv 安裝路徑,大概在第 20 行

set(OpenCV_DIR /usr/local/opencv-4.6.0/build/)
set(_opencv_version 4)
find_package(OpenCV 4 QUIET)

另外由于是自己制作的 cv_bridge 對應(yīng)于 opencv 4.6.0 版本的功能包,因此最好將包名該一下,我這里是改成 cv_bridge_460

# project(cv_bridge)
project(cv_bridge_460)

(2)package.xml

同理在 package.xml 中也改一下報(bào)名

<package format="2">
#  <name>cv_bridge</name>
  <name>cv_bridge_460</name>

然后編譯這個(gè)功能包

cd ~/cv_bridge_460_ws/
catkin_make

如果編譯成功,則 cv_bridge_460 功能包制作就完成了,這也說明 opencv 4.6.0 已經(jīng)正確安裝了,并且這個(gè)cv_bridge_460 功能包可以正確連接上自己安裝的 opencv 版本,最后我們將這個(gè)功能包的路徑添加到 ~/.bashrc 文件夾中,使得我們在后面編譯 vins-fusion-gpu 時(shí)可以調(diào)用這個(gè) cv_bridge_460 功能包,打開 ~/.bashrc文件夾,在最后加入如下命令

source ~/cv_bridge_460_ws/devel/setup.bash

?最后在終端 source 一下當(dāng)前該路徑

source ~/.bashrc

三、編譯 vins-fusion-gpu

創(chuàng)建 vins-fusion-gpu 工作空間,

mkdir ~/catkin_ws_gpu/src
cd ~/catkin_ws_gpu/src

然后下載 vins-fusion-gpu 包到 catkin_ws/src 工作目錄下

git clone https://github.com/pjrambo/VINS-Fusion-gpu.git

(1)修改 vins_estimator/CMakeLists.txt 文件

將 cv_bridge 改成 cv_bridge_460

find_package(catkin REQUIRED COMPONENTS
    roscpp
    std_msgs
    geometry_msgs
    nav_msgs
    tf
    cv_bridge_460
    camera_models
    image_transport)

注釋一行

#include(/home/dji/opencv/build/OpenCVConfig.cmake)

添加 cv_bridge_460 功能包的路徑和 opencv-4.6.0 的路徑

set(cv_bridge_460_DIR "/home/lilabws01/cv_bridge_460_ws/devel/share/cv_bridge_460/cmake")
set(OpenCV_DIR "/usr/local/opencv-4.6.0/build/")

?(2)修改 loop_fusion/CMakeLists.txt 文件

find_package(catkin REQUIRED COMPONENTS
    roscpp
    std_msgs
    nav_msgs
    camera_models
    cv_bridge_460
    roslib
    )

注釋一行

#include(/home/dji/opencv/build/OpenCVConfig.cmake)

添加 cv_bridge_460 功能包的路徑和 opencv-4.6.0 的路徑

set(cv_bridge_460_DIR "/home/lilabws01/cv_bridge_460_ws/devel/share/cv_bridge_460/cmake")
set(OpenCV_DIR "/usr/local/opencv-4.6.0/build/")

保存并退出,最后進(jìn)入 VINS-Fusion-gpu 文件夾

cd ./VINS-Fusion-gpu/

終端輸入下面代碼使得 VINS-Fusion-gpu 自動(dòng)匹配 OpenCV4 版本(變量名發(fā)生變化)

sed -i 's/CV_FONT_HERSHEY_SIMPLEX/cv::FONT_HERSHEY_SIMPLEX/g' `grep CV_FONT_HERSHEY_SIMPLEX -rl ./`
sed -i 's/CV_LOAD_IMAGE_GRAYSCALE/cv::IMREAD_GRAYSCALE/g' `grep CV_LOAD_IMAGE_GRAYSCALE -rl ./`
sed -i 's/CV_BGR2GRAY/cv::COLOR_BGR2GRAY/g' `grep CV_BGR2GRAY -rl ./`
sed -i 's/CV_RGB2GRAY/cv::COLOR_RGB2GRAY/g' `grep CV_RGB2GRAY -rl ./`
sed -i 's/CV_GRAY2RGB/cv::COLOR_GRAY2RGB/g' `grep CV_GRAY2RGB -rl ./`
sed -i 's/CV_GRAY2BGR/cv::COLOR_GRAY2BGR/g' `grep CV_GRAY2BGR -rl ./`
sed -i 's/CV_CALIB_CB_ADAPTIVE_THRESH/cv::CALIB_CB_ADAPTIVE_THRESH/g' `grep CV_CALIB_CB_ADAPTIVE_THRESH -rl ./`
sed -i 's/CV_CALIB_CB_NORMALIZE_IMAGE/cv::CALIB_CB_NORMALIZE_IMAGE/g' `grep CV_CALIB_CB_NORMALIZE_IMAGE -rl ./`
sed -i 's/CV_CALIB_CB_FILTER_QUADS/cv::CALIB_CB_FILTER_QUADS/g' `grep CV_CALIB_CB_FILTER_QUADS -rl ./`
sed -i 's/CV_CALIB_CB_FAST_CHECK/cv::CALIB_CB_FAST_CHECK/g' `grep CV_CALIB_CB_FAST_CHECK -rl ./`
sed -i 's/CV_ADAPTIVE_THRESH_MEAN_C/cv::ADAPTIVE_THRESH_MEAN_C/g' `grep CV_ADAPTIVE_THRESH_MEAN_C -rl ./`
sed -i 's/CV_THRESH_BINARY/cv::THRESH_BINARY/g' `grep CV_THRESH_BINARY -rl ./`
sed -i 's/CV_SHAPE_CROSS/cv::MORPH_CROSS/g' `grep CV_SHAPE_CROSS -rl ./`
sed -i 's/CV_SHAPE_RECT/cv::MORPH_RECT/g' `grep CV_SHAPE_RECT -rl ./`
sed -i 's/CV_TERMCRIT_EPS/cv::TermCriteria::EPS/g' `grep CV_TERMCRIT_EPS -rl ./`
sed -i 's/CV_TERMCRIT_ITER/cv::TermCriteria::MAX_ITER/g' `grep CV_TERMCRIT_ITER -rl ./`
sed -i 's/CV_RETR_CCOMP/cv::RETR_CCOMP/g' `grep CV_RETR_CCOMP -rl ./`
sed -i 's/CV_CHAIN_APPROX_SIMPLE/cv::CHAIN_APPROX_SIMPLE/g' `grep CV_CHAIN_APPROX_SIMPLE -rl ./`
sed -i 's/CV_AA/cv::LINE_AA/g' `grep CV_AA -rl ./`

解釋參考 Docker 制作各 ROS 版本 VINS-Fusion 鏡像_想要個(gè)小姑娘的博客-CSDN博客

然后進(jìn)入 catkin_ws/ 工作目錄,進(jìn)行編譯

cd ~/catkin_ws/
catkin_make

編譯成功后 VINS-Fusion-gpu 就可以運(yùn)行啦,運(yùn)行方式參考

Jetson Orin NX 開發(fā)指南(6): VINS-Fusion-gpu 的編譯和運(yùn)行_想要個(gè)小姑娘的博客-CSDN博客

最后終端輸入nvidia-smi 可以查看 vins-node 使用 GPU 的情況

Ubuntu 20.04 配置 VINS-Fusion-gpu + OpenCV 4.6.0,ubuntu,opencv,linux

四、修改 VINS-Fusion-gpu

在 VINS-Fusion-gpu 中,特征追蹤的圖像是直接顯示在外面的,但是在 VINS-Fusion 中,特征追蹤的圖像是集成在 rviz 中的,下面我們介紹如何修改 VINS-Fusion-gpu 源碼使得特征追蹤的圖像顯示在 rviz 中。

首先用 vscode 打開 VINS-Fusion-gpu 目錄 進(jìn)入 feature_tracker.cpp,找到下圖所示的兩行

Ubuntu 20.04 配置 VINS-Fusion-gpu + OpenCV 4.6.0,ubuntu,opencv,linux

這是 VINS-Fusion-gpu 顯示特征追蹤圖像的方式,將其注釋

Ubuntu 20.04 配置 VINS-Fusion-gpu + OpenCV 4.6.0,ubuntu,opencv,linux

接下來打開 visualization.h,

Ubuntu 20.04 配置 VINS-Fusion-gpu + OpenCV 4.6.0,ubuntu,opencv,linux

在上圖位置添加(聲明發(fā)布特征追蹤圖像的函數(shù))

void pubTrackImage(const cv::Mat &imgTrack, const double t);

然后打開 visualization.cpp,

Ubuntu 20.04 配置 VINS-Fusion-gpu + OpenCV 4.6.0,ubuntu,opencv,linux

在上圖位置添加(定義發(fā)布特征追蹤圖像的函數(shù))

void pubTrackImage(const cv::Mat &imgTrack, const double t)
{
    std_msgs::Header header;
    header.frame_id = "world";
    header.stamp = ros::Time(t);
    sensor_msgs::ImagePtr imgTrackMsg = cv_bridge::CvImage(header, "bgr8", imgTrack).toImageMsg();
    pub_image_track.publish(imgTrackMsg);
}

接下來還是在 visualization.cpp 中,

Ubuntu 20.04 配置 VINS-Fusion-gpu + OpenCV 4.6.0,ubuntu,opencv,linux

在上圖兩個(gè)位置添加

ros::Publisher pub_image_track;

以及

pub_image_track = n.advertise<sensor_msgs::Image>("image_track", 1000);

最后在 estimator.cpp 中

Ubuntu 20.04 配置 VINS-Fusion-gpu + OpenCV 4.6.0,ubuntu,opencv,linux

在上圖位置添加一行

pubTrackImage(imgTrack, t);

通過編譯后,就可以在 rviz 中找到 /vins_estimator/image_track 話題了!

至此,VINS-Fusion-gpu 就完全實(shí)現(xiàn)了 VINS-Fusion 的效果!文章來源地址http://www.zghlxwxcb.cn/news/detail-518242.html

到了這里,關(guān)于Ubuntu 20.04 配置 VINS-Fusion-gpu + OpenCV 4.6.0的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • ubuntu20.04中安裝配置docker nvidia容器來實(shí)現(xiàn)宿主機(jī)GPU的調(diào)用

    在 Ubuntu 上安裝 Docker 非常直接。我們將會(huì)啟用 Docker 軟件源,導(dǎo)入 GPG key,并且安裝軟件包。 (這里指推薦使用官方的安裝方法,snap的方法不推薦,各種命令不是很通用) 1、首先,更新軟件包索引,并且安裝必要的依賴軟件,來添加一個(gè)新的 HTTPS 軟件源: 2、使用下面的

    2024年03月16日
    瀏覽(23)
  • Ubuntu20.04下vins-mono用自己數(shù)據(jù)并跑通(手機(jī)攝像頭/離線)

    Ubuntu20.04下vins-mono用自己數(shù)據(jù)并跑通(手機(jī)攝像頭/離線)

    目錄 一、數(shù)據(jù)采集 1、安裝采集app 2、錄制 問題:找不到錄制數(shù)據(jù)在哪里 二、數(shù)據(jù)打包 1、準(zhǔn)備打包文件 1)kalibr_bagcreater.py 2)第三方庫utility_functions.py 2、打包 問題:/usr/bin/env: “pythonr”: 沒有那個(gè)文件或目錄 三、參數(shù)標(biāo)定 1、安裝kalibr 1)安裝依賴項(xiàng) 2)創(chuàng)建工作空間 問題

    2024年02月10日
    瀏覽(99)
  • 【Ubuntu】Ubuntu20.04安裝GPU顯卡驅(qū)動(dòng)

    【Ubuntu】Ubuntu20.04安裝GPU顯卡驅(qū)動(dòng)

    等待安裝即可 有些顯卡只支持455 安裝完成記得重啟一下,然后驗(yàn)證一下: 若顯示下圖則說明安裝成功~? ? CUDA Toolkit 11.7 Downloads | NVIDIA Developer 選擇Linux-x86_64-Ubuntu-20.04-runfile(local) ? 等待30m即可(取決于網(wǎng)速)? ?選擇Continue(上下移動(dòng)選擇,Enter確定) ?輸入 accept ? 在對應(yīng)的

    2024年02月01日
    瀏覽(26)
  • Ubuntu 20.04 實(shí)時(shí)查看GPU使用情況

    Ubuntu 20.04 實(shí)時(shí)查看GPU使用情況

    使用兩種方法,實(shí)時(shí)查看 GPU 使用情況;徹底殺死制定進(jìn)程 使用終端命令 nvidia-smi 查看顯卡信息 如果你想實(shí)時(shí)檢測顯卡使用情況,添加 watch -n 即可 其中,4 是指 4 秒刷新一次終端,可以根據(jù)自己的需求設(shè)置 安裝過程很簡單,直接 pip 即可(本人是這樣),使用 gpustat --json 以

    2024年02月13日
    瀏覽(22)
  • ubuntu20.04 docker 下編譯 tensorflow-gpu

    ubuntu20.04 docker 下編譯 tensorflow-gpu

    配置: 系統(tǒng) ubuntu 20.04 LTS 顯卡 GTX 1060 6G 1 安裝cudatoolkit (我選 CUDA Toolkit 12.2 ) NVIDIA CUDA Installation Guide for Linux https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#prepare-ubuntu 選擇 2.7 步驟,下載 deb 包,本地安裝 2.7. Download the NVIDIA CUDA Toolkit https://developer.nvidia.com/cuda-downloa

    2024年02月13日
    瀏覽(17)
  • 完整的Ubuntu20.04+ROS+PX4+Anaconda+PyTorch+GPU+CUDA+CUDNN+XTdrone配置智能無人機(jī)開發(fā)環(huán)境搭建過程

    完整的Ubuntu20.04+ROS+PX4+Anaconda+PyTorch+GPU+CUDA+CUDNN+XTdrone配置智能無人機(jī)開發(fā)環(huán)境搭建過程

    我之前寫了如何在Ubuntu18下搭配一系列軟件的教程,然后近期重新安裝20.04版本,于是重新記錄一些東西,但是眾多東西之前已經(jīng)有了,所以我在這里知會(huì)在一些不同的地方和新增的地方特別說明,其他的請大家看之前的博客。 在搞了這么久的ros和px4之后,我也明白了xtdrone是

    2024年02月05日
    瀏覽(106)
  • Ubuntu20.04 編譯 gstreamer 支持gpu硬編解 opencv-python同支持gst

    Ubuntu20.04 編譯 gstreamer 支持gpu硬編解 opencv-python同支持gst

    Gstreamer是一個(gè)支持Windows,Linux,Android, iOS的跨平臺的多媒體框架,應(yīng)用程序可以通過管道(Pipeline)的方式,將多媒體處理的各個(gè)步驟串聯(lián)起來,達(dá)到預(yù)期的效果。每個(gè)步驟通過元素(Element)基于GObject對象系統(tǒng)通過插件(plugins)的方式實(shí)現(xiàn),方便了各項(xiàng)功能的擴(kuò)展。 下圖

    2024年02月11日
    瀏覽(108)
  • Ubuntu20.04配置

    Ubuntu20.04配置

    新創(chuàng)建的用戶沒有root權(quán)限,我們執(zhí)行以下命令給用戶sudo權(quán)限 刪除用戶及用戶所有文件(/home/username/路徑下的所有文件) 刪除用戶但保留所有用戶文件: 查詢系統(tǒng)整體磁盤使用情況: df -h 查詢指定目錄的磁盤占用情況:默認(rèn)是當(dāng)前目錄 du -h

    2024年02月04日
    瀏覽(19)
  • ubuntu20.04網(wǎng)絡(luò)配置

    ubuntu20.04網(wǎng)絡(luò)配置

    安裝net-tools ?????sudo?apt-get?install?net-tools 2、ifconfig查看網(wǎng)卡設(shè)備 其中flags表中:running表示正在使用中。 查看設(shè)備核心網(wǎng)絡(luò)路由表: ?????route?-n Destination 目標(biāo)網(wǎng)段或者主機(jī) Gateway 網(wǎng)關(guān)地址,”*” 表示目標(biāo)是本主機(jī)所屬的網(wǎng)絡(luò),不需要路由 Genmask 網(wǎng)絡(luò)掩碼 Flags 標(biāo)記。

    2024年02月08日
    瀏覽(22)
  • Ubuntu 20.04 配置 Realsense

    Ubuntu 20.04 配置 Realsense

    可以在官網(wǎng)查看各個(gè)類型的相機(jī)說明 Intel? RealSense? Computer Vision - Depth and Tracking cameras 目前實(shí)驗(yàn)室常用的是 D400 系列的相機(jī),如 D435i相機(jī),D455相機(jī)等,本文主要使用 D435i 相機(jī),如下圖所示 D435i 相機(jī)是一個(gè)RGB-D相機(jī),也就是我們常說的深度相機(jī),目前深度相機(jī)的實(shí)現(xiàn)原理主要

    2024年02月05日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包