原创 c++中capacity()函數用法

c++中capacity()函數用法 size()指 目前存在的元素數。 元素個數 capacity()指 容器能存儲 數據的個數 容器 容量 reserve()指定 容器 能存儲數據的個數 res

原创 C++ STL中vector的內存機制和性能分析

vecotr是動態數組,顧名思義他可以動態的增加自己的長度。 內存機制: 但是怎樣的增加自己的長度? vector有兩個函數一個是capacity()返回內存空間即緩衝區的大小,另一個是size()返回當前數組中數的數量。vect

原创 c++ vector的內存釋放

c++中vector的一個特點是: 內存空間只會增長,不會減小。即爲了支持快速的隨機訪問,vector容器的元素以連續方式存放,每一個元素都挨着前一個元素存儲。設想,如果每次vector添加一個新元素時,爲了滿足連續存放這個特性,

原创 Linux內存監視

內存監視的命令有兩種: 1.打開系統監視器查看內存,精確到M,在終端輸入命令: gnome-system-monitor 2.終端輸出內存情況,精確到kb,在終端輸入命令: top -d 1 注:第2種方式打開後,按大寫M,進行排

原创 鏈表ListNode詳細解釋

ListNode 刷LeetCode碰到一個簡單鏈表題,題目已經定義了鏈表節點ListNode,作者很菜,好多忘了,把ListNode又查了一下 struct ListNode { int val; //定義v

原创 make編譯時找不到鏈接庫

在編譯時,報錯如下: /usr/bin/ld: 找不到 -lcanlib /usr/bin/ld: 找不到 -lkvadblib collect2: error: ld returned 1 exit status CMakeFi

原创 視頻轉換處理終端命令

視頻段截取: ffmpeg -i ./plutopr.mp4 -vcodec copy -acodec copy -ss 00:00:10 -to 00:00:15 ./cutout1.mp4 -y -ss time

原创 常用ffmpeg命令

常用ffmpeg命令 調整視頻的寬和高: ffmpeg -i input_file -s 320*480 output_file 將avi轉換成mp4: ffmpeg -i input.avi out.mp4 視頻段截取: ffm

原创 C++對象的動態建立和釋放

使用類名定義的對象(請查看:C++類的聲明和對象的定義)都是靜態的,在程序運行過程中,對象所佔的空間是不能隨時釋放的。但有時人們希望在需要用到對象時才建立對象,在不需要用該對象時就撤銷它,釋放它所佔的內存空間以供別的數據使用。這樣可提

原创 Ubuntu14.04 運行LSD_SLAM

基於Ubuntu14.04+ROS indigo環境LSD-SLAM的數據集測試成功 第一步:搭建Ubuntu14.04.4+ROS indigo基礎環境 1] 在 http://releases.ubuntu.com/14.04/

原创 Mac OS製作Ubuntu安裝U盤

採用U盤安裝Ubuntu系統是目前比較常見的安裝方式之一,在Windows上有製作安裝U盤的工具(比如Universal USB Installer),那麼在Mac OS上面如何製作安裝U盤呢? 答案是命令行! hdiutil 第一步

原创 ubuntu16.04 安裝LSD_SLAM錯誤總結

輸入命令:rosmake 錯誤如下: [ rosmake ] rosmake starting... [ rosmake ] Packa

原创 TX2安裝PCL出現libGL.so: undefined reference to 'xxxx'

在TX2 上刷機後安裝PCL時出現 aarch64-linux-gnnu/libGL.so :undefined reference to drmCloseOnce aarch64-linux-gnnu/libGL.so :undef

原创 用ORB SLAM2跑自己的數據集 使用圖片序列或攝像頭或視頻 實踐篇

用ORB SLAM2跑自己的圖片序列數據集 首先,我們需要知道圖片的採集時間,這個可以從採集的儀器(各種各樣的)上得到圖片與時間一一對應。小樹的問題描述:現有數據集視頻,首先使用激光SLAM跑出來了一個軌跡,該軌跡作爲groundtr

原创 opencv依賴庫

sudo apt-get install build-essential libgtk2.0-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev cmake python