#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
namespace svo
;svo::vonode::
vonode()
:vo_
(null),
publish_markers_
(vk::getparam<
bool
>
("svo/publish_markers_"
,true))
,publish_dense_input_
(vk::getparam<
bool
>
("svo/publish_dense_input_"
,false))
,remote_input_(""
),cam_
(null),
quit_
(false
)vonode::
~vonode()
void vonode::
imgcb
(const sensor_msgs::imageconstptr& msg)
catch
(cv_bridge::exception& e)
processuseractions()
;//執行此函式,開闢控制台輸入執行緒,根據輸入字母進行操作
//呼叫視覺前端類傳入影象
vo_-
>
addimage
(img, msg-
>header.stamp.
tosec()
);//引數2可以獲得系統時間
//進行ros訊息有關的設定
visualizer_.
publishminimal
(img, vo_-
>
lastframe()
,*vo_, msg-
>header.stamp.
tosec()
);if(publish_markers_ && vo_-
>
stage()
!= framehandlerbase::stage_paused)
//進行關鍵幀顯示
visualizer_.
visualizemarkers
(vo_-
>
lastframe()
, vo_-
>
corekeyframes()
, vo_-
>
map())
;if(publish_dense_input_)
visualizer_.
exporttodense
(vo_-
>
lastframe()
);//稠密顯示特徵點
if(vo_-
>
stage()
== framehandlermono::stage_paused)
usleep
(100000);
}void vonode::
processuseractions()
switch
(input)
}void vonode::
remotekeycb
(const std_msgs::stringconstptr& key_input)
}// namespace svo
intmain
(int argc,
char
**ar**)
printf
("svo terminated.\n");
return0;
}
SVO學習日記 2 2021 1 16
include include include include include include include include include include include include namespace svo 析構函式,主要作用是刪除幀上的特徵點 frame frame 初始化幀 void...
SVO學習日記 8 2021 2 1
ifndef svo pose optimizer h define svo pose optimizer h include namespace svo endif include include include include include include include namespace ...
SVO學習日記 14 2021 2 23
做了兩件事 1.通過影象對齊,計算乙個粗糙的位姿 2.建立乙個當前幀的區域性地圖,根據地圖對比位姿進一步優化 二.影象對齊 1.目的 迭代計算幀間位姿 解釋 用於影象對齊的地圖點是上一幀能看到的地圖點,我們知道影象幀間變換比較小,有理由相信上一幀所看到的場景大部分相同 過程 1 找到前一幀看到的地圖...