運行svo 2.0的 vio時遇到opencv沖突的問題

當我運行如下指令時,遇到了如下問題

指令

cd svo_ws
source ./devel/setup.bash
roslaunch svo_ros euroc_vio_mono.launch
rosbag play MH_01_easy.bag -s 50

運行時遇到的問題

OpenCV Error: Bad argument (Unknown interpolation method) in resize, file /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/imgproc/src/imgwarp.cpp, line 3367
terminate called after throwing an instance of 'cv::Exception'what():  /build/opencv-L2vuMj/opencv-3.2.0+dfsg/modules/imgproc/src/imgwarp.cpp:3367: error: (-5) Unknown interpolation method in function resize

后來發現在編譯時有一個warnning

/usr/bin/ld: warning: libopencv_core.so.3.4, needed by /home/serena/svo_ws/devel/.private/dbow2_catkin/lib/libDBoW2.so, may conflict with libopencv_core.so.3.2
/usr/bin/ld: warning: libopencv_imgcodecs.so.3.2, needed by /home/serena/svo_ws/devel/.private/svo_online_loopclosing/lib/libbow.so, may conflict with libopencv_imgcodecs.so.3.4

然后我根據問題找到了一個解決方案:(25條消息) ROS學習:cv_bridge與opencv版本沖突三種解決方案_Mr.Qin_的博客-CSDN博客_cv_bridge這篇文章中也提到了之所以出現上述問題,是因為ros本身攜帶的OpenCV與我自己安裝的OpenCV發生沖突,因為在我們使用ros處理圖像時,會用到cv_bridge庫,但是通常情況下cv_bridge使用的是ros中的opencv,然后我們的工程代碼使用的是我們自己安裝的opencv,此時就容易發生沖突。

解決這種沖突的方式有三種:

1. 不使用cv_bridge,這種方法有些逃避問題的嫌疑,因為很多時候沒有cv_bridge,代碼是沒法工作的,這種方法不好。

2. 更改ros下cv_bridge中使用opencv的設置,讓ros中的cv_bridge使用本地安裝的opencv,可以按照下面文章中的步驟來設置。Ubuntu18.04 ros-melodic opencv版本沖突問題解決 (icode9.com)

3. 重新編譯一個不同名字但是與cv_bridge相同功能的庫。修改方法可以按照下面文章中的方法三進行修改。?????(25條消息) ROS學習:cv_bridge與opencv版本沖突三種解決方案_Mr.Qin_的博客-CSDN博客_cv_bridge?下載cv_bridge庫時要選擇適配自己ros版本的版本,比如我的ros是melodic的,所以你下載時選擇melodic 分支進行下載。

?修改文件夾名字時,注意有兩處,一處是:vision_opencv-melodic下的cv_bridge修改為cv_bridge_1, 然后是vision_opencv-melodic/cv_bridge_1/include/下的cv_bridge也要修改為cv_bridge_1.

然后是修改引用cv_bridge.h的文件,修改為cv_bridge_1/cv_bridge.h。在svo_ros中需要修改的地方是,svo_ros/package.xml,svo_ros/src/svo_interface.cpp,和visualizer.h.

?整完之后,重新catkin build 進行編譯,然后重新運行,通常情況下就沒有問題了。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/252243.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/252243.shtml
英文地址,請注明出處:http://en.pswp.cn/news/252243.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

DOS Network一月項目月報

歡迎大家閱讀DOS Network第一期項目月報!DOS為了跟大家更好的溝通和交流,將在每個月為大家跟進DOS Network項目進展月報。月報主要分為項目研發和社區及營銷兩個部分。 如果你是剛認識DOS Network預言機網絡的新朋友,歡迎查閱往期文章&#x…

lsof詳解

from:https://www.cnblogs.com/the-study-of-linux/p/5501593.html lsof (list open files)是一個列出當前系統打開文件的工具。在linux系統環境下,任何事物都可以以文件形式存在,通過文件不僅可以訪問常規的數據,還可以訪問網絡連接和硬件。…

Ubuntu18.04上下載安裝使用sogou輸入法

下載地址:搜狗輸入法Linux官網-首頁 安裝設置網址:搜狗輸入法Linux官網-安裝指導 這樣Ubuntu下工作就更加方便了。

正則

(一)字符類 [...]  方括號內的任意字符 [^...]   不在方括號內的任意字符 .    除換行符和其它Unicode行終止符之外的任意字符 \w   任何ASCII字符組成的單詞,等價于[a-zA-Z0-9] \W   任何非ASCII字符組成的單詞,等價…

使用Cloud Studio寫python

1、進入【騰訊云開發者平臺】 2、點擊【進入工作空間】 3、點擊【新建工作空間】 4、點擊【從模版創建】 選擇你需要的空間環境,就可以開始啦!轉載于:https://juejin.im/post/5c75f79051882562962ef5d7

顯卡、顯卡驅動、顯存、GPU、CUDA、cuDNN

顯卡Video card,Graphics card,又叫顯示接口卡,是一個硬件概念(相似的還有網卡),執行計算機到顯示設備的數模信號轉換任務,安裝在計算機的主板上,將計算機的…

ros rviz顯示rosbag中的圖像和imu數據

一、rosbag相關的指令 1. rostopic list //列舉出系統中正在發布的ros 話題 2. rosbag record -a //錄制系統中所有正在發布的ros 話題 3. rosbag record topic1 topic2 .... -o bagname.bag 4. rosbag play bagname.bag //播放bag文件 5. rosbag info bagname.bag //查看…

PX4的workqueue

Workqueue相當于是中斷子程序,然后在queue的cycle里面要注意,不能在cycle函數里面用printf打印,在cycle里面printf函數是打印不出來的。 也不能在cycle里面用while(1),就是不能讓程序一直在queue里面執行,要想讓cycle執…

企業選擇 多云管理平臺 六大注意事項

企業選擇 多云管理平臺 六大注意事項 1、是否足夠簡單,學習曲線有多長 2、是否可實現自動化環境部署,日常運維作業等一系列操作? 3、是否可以管理全異構的云環境,支持主流公有云廠商的云資源? 4、是否能提供管理成本、…

面向接口編程

面向接口編程 一般在實現一個系統的時候,通常是將定義與實現合為一體,不加分離的,我認為最為理解的系統設計規范應該是所有的定義與實現分離,盡管這對于系統中某些復雜的情況有些繁煩。面向接口編程設計 使用面向接口編程思想將層與層之間通過接口依賴,下…

Java并發學習之一——線程的創建

與每個java語言中的元素一樣,線程是對象。在Java中,我們有兩種方式創建線程: 1、通過直接繼承thread類,然后覆蓋run方法。 2、構建一個實現Runnable接口的類,然后創建一個thread類對象并傳遞Runnable對象作為構造參數 …

day1||python

測試題: 0. Python 是什么類型的語言? Python是一種面向對象、解釋型、動態類型計算機程序設計語言解釋型:程序無需編譯成二進制代碼,而是在執行時對語句一條一條編譯動態類型:在程序執行過程中,可以改變變…

2.7萬字還原行業面貌,《2019 AI金融風控行業研究報告》正式上線!...

在金融科技領域,風險控制的重要性,從其關聯的金融業務和結合的技術維度可見一斑:風控涉及信用借貸、保險、支付、供應鏈金融等場景,并運用了包括生物特征識別、機器學習、自然語言處理、大數據、云計算等多項技術。 區別于美國有…

【原創】QT簡單計算器

代碼 //main.cpp#include "calculator_111.h" #include <QtWidgets/QApplication>int main(int argc, char *argv[]) { QApplication a(argc, argv); Calculator_111 w; w.show(); return a.exec(); /* //QT creator Calculator_111 win; win.show(); return…

cs堡壘機使用說明

一、堡壘機介紹 為了保證機房的網絡安全&#xff0c;IDC內所有服務器不被允許從辦公網直接ssh登錄&#xff0c;必須通過跳板機進行間接登錄。用戶通過跳板機執行的所有命令&#xff08;包括通過跳板機登錄的其他機器后的命令&#xff09;都會被保存并審計。 cs是我們登錄IDC服…

export和export default的區別

es6中export和export default的區別 export與export default均可用于導出常量、函數、文件、模塊&#xff1b;你可以在其它文件或模塊中通過import(常量 | 函數 | 文件 | 模塊)名的方式&#xff0c;將其導入&#xff0c;以便能夠對其進行使用&#xff1b;在一個文件或模塊中&am…

koa中間件機制詳解

轉自&#xff1a;https://cnodejs.org/topic/58fd8ec7523b9d0956dad945 koa是由express原班人馬打造的一個更小、更富有表現力、更健壯的web框架。 在我眼中&#xff0c;koa的確是比express輕量的多&#xff0c;koa給我的感覺更像是一個中間件框架&#xff0c;koa只是一個基礎的…

極度推薦的文章和網站

推薦文章---收錄中 因為是及時雨,這里就給他放在開頭啦&#xff1a;http://www.cnblogs.com/zhuzhenwei918/p/7241971.html webpack3.0配置指南&#xff1a;http://www.cnblogs.com/caideyipi/articles/7080010.html 超酷的偽元素網站&#xff1a;https://tympanus.net/Develop…

倍道而行:選擇排序

一、為什么學了之后過段時間又會忘記了&#xff1f; 因為沒有去運用它和認為面試需要而沒有真正的重視。現在給它賦予意義&#xff1a;1.那就是基礎牢固&#xff0c;才可觸類旁通2.真正記得和隨時可以拿出手&#xff0c;那么面試可以PK掉一大批人。不然看到一個精妙的算法就學一…

如何構建一個真實的推薦系統?

AI 前線導讀&#xff1a;隨著互聯網行業的井噴式發展&#xff0c;數據規模呈現爆炸式增長。大數據中蘊含了巨大的價值&#xff0c;但同時也來了很 “信息過載” 的問題。推薦系統作為一個廣泛應用的信息過濾系統&#xff0c;在很多領域取得了巨大的成功。在電子商務上&#xff…