SLAM數據集序列圖片如何批量處理
- 2020 年 6 月 19 日
- 筆記
原創:SLAM爬坑之行
引言:在SLAM學習過程中,有時候需要對大量的數據集比如TUM/KITTI等圖片序列進行批量處理,這個時候需要用到opencv中的函數對影像進行批量處理的話,會大大減少我們的時間,提高工作效率。
詳細流程:
1、數據集下對大批量圖片文件名的導出
我們採用的是TUM實驗室中的rgbddatasetfreiburg2pioneerslam的RGB影像序列,每當看見這些密密麻麻的數據影像的時候,就會有一種無力感,所以需要批量處理。[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-W9k03k7b-1592542839980)(D:\SLAM\SLAM基礎\文章\rgbseires.png)]
-
1、使用ls >命令將目錄RGB(根據實際情況進行更改)中的圖片名列舉出來,然後利用>將文 件名重定向到test.txt中(.txt的名字可根據需要自定義),效果入下圖,可以看見rgb中的影像序列已經被保存,終端輸入下列指令後結果如下圖所示
ls rgb >text.txt
-
2、利用opencv實現批量影像的處理工作
下圖是處理後的影像,這樣就可以我們就可以看見原文件rgb中的200張彩色影像被批量處理成灰度圖並且重命名。
3、常用舉例按規律讀取並顯示
數據集命名規則如下所示,下列程式將按照序列號名稱順序讀取
4、寫入序列圖片
char path[200];
sprintf(path, "../save/%d.jpg", i);
Mat edgeMat;
imwrite(path, edgeMat);
[參考]: