最近在復現suma++,發現網上沒有相關的注釋和解析suma++,可謂荒漠,看的也是一頭霧水。所以想着看一點記錄一點; 今天嘗試着看代碼,個人認爲首先應該看visualizer目錄的visualizer.cpp ,雖然是用qt寫的界面,以前沒有接觸過,但關系到輸入輸出,不看的話,不知道所以然(當然不用一行一行的看,畢竟光可視化的代碼就3000多行...有些代碼望文知義即可)
關於 ./visualizer 復現suma++:最後一步 ./visualizer 報錯
個人理解,界面中沒有點play按鈕前,加載.bin文件之後,都是初始化工作,這個初始化工作還挺多的,夠看好久的...
// initialize Laser Fusion.
rv::ParameterList params; // default parameters.
if (argc <= 1) {
parseXmlFile("../config/default.xml", params); // 從xml 獲得參數params
} else {
parseXmlFile(argv[1], params);
}
std::shared_ptr<SurfelMapping> fusion = std::shared_ptr<SurfelMapping>(new SurfelMapping(params)); // core/SurfelMapping.h 一切的起點
window.initialize(fusion, params); // 在窗口中初始化fusion 和params
window.show();
可以從這裏展開代碼閱讀,看看這個類的實現及初始化,一步套一步,看完回到這個cpp文件中來接着下面看,看完之後就知道整個suma++的脈絡了
rangenet_lib && tensorRT8.** && ubuntu20.04 && suma++_缄默0603的博客-CSDN博客