回答
您可以輕鬆地將3d座標保存到PLY format。下面是使用ofxKinect一個基本的例子:
void exportPlyCloud(string filename, ofMesh& cloud) {
ofFile ply;
if (ply.open(filename, ofFile::WriteOnly)) {
// write the header
ply << "ply" << endl;
ply << "format binary_little_endian 1.0" << endl;
ply << "element vertex " << cloud.getVertices().size() << endl;
ply << "property float x" << endl;
ply << "property float y" << endl;
ply << "property float z" << endl;
ply << "end_header" << endl;
// write all the vertices
vector<ofVec3f>& surface = cloud.getVertices();
for(int i = 0; i < surface.size(); i++) {
if (surface[i].z != 0) {
// write the raw data as if it were a stream of bytes
ply.write((char*) &surface[i], sizeof(ofVec3f));
}
}
}
}
然後可以使用MeshLab處理/施蒂希PLY文件,然後導出另一種格式像OBJ。與openFrameworks相關的,你可以在這個workshop找到一些方便的例子,包括上面的PLY導出。
保存到PLY將解決問題的一部分,你需要手動stich,這可能是耗時的。您需要SLAM(同時定位和映射)或其他重建算法來幫助將事物縫合在一起。你可以在OpenSLAM找到一個很好的算法集合。
現在取決於您的編碼舒適度水平有幾個選項來幫助。 我還建議看看RGBDemo構建的軟件具有重建功能。這不需要編碼,除非你想(因爲它是開源的)。
通過一些編碼,您還可以使用PointCloudsLibrary(PCL)進行重構。 如果還包括一個implementation of KinectFusion
如果您使用的是微軟Kinect SDK,Kinect Fusion被納入Kinect SDK 1.7
您可能還會發現這個帖子有意思:Kinect Fusion inside AutoCAD 。
kinect爲您提供深度圖像。這是一幅具有不同灰色陰影的圖像,用於指示距離傳感器有多遠。
圖像中的任何像素使用深度值的16位或13位(當僅使用13位時,最後3位用於播放器ID)。
您可以將圖像保存爲.bmp,例如...或將其轉換爲您更喜歡的任何其他格式。
我不完全確定你想如何重建你的房間。
該kinect不能一次捕捉整個房間,所以你將不得不至少把你的kinect捕捉整個房間。
你想實現什麼樣的重建? 它只是一個灰度圖像,或者你想要到牆壁和物體的距離以及它們的尺寸嗎?
如果後者是這種情況,你應該處理圖像。
如果前者是這種情況,您可以將單張照片粘貼在一起以形成全景或立方體,無論您喜歡什麼。
我希望你能得到一些有用的信息。隨時詢問有關不確定性。
我試圖通過旋轉kinect重建房間。最後,我想測量我的房間的尺寸。這就是爲什麼我問它是否可以轉換成通用的3D格式。謝謝。 – prgbenz
- 1. 從kinect寫入3d視頻到文件
- 2. 用Python保存PDF 3D中的3D圖
- 3. 如何將kinect骨架數據保存到文件中?
- 4. 在Matlab中保存Kinect深度圖像?
- 5. 從kinect保存的圖像是黑色
- 6. 將選中項從列表視圖保存到文件
- 7. 將視圖保存爲文件
- 8. 如何多重處理將圖保存到Python中的文件?
- 9. 使用單個旋轉kinect的房間的360度3D視圖
- 10. 如何將由pChart創建的圖像保存到文件中?
- 11. Kinect保存聯合數據
- 12. 想要合併kinect骨骼視圖與kinect RGB視圖
- 13. 保存來自plot3d的3D圖形應用程序的文件
- 14. 將總視頻文件的幀數保存到.txt文件中
- 15. 將圖像從位圖保存到jpeg而不保存文件
- 16. 將相機圖片保存在文件中,未創建文件
- 17. 保存視頻流文件
- 18. 保存文件到文件
- 19. 將Kinect的彩色攝像頭視頻流保存到.avi視頻
- 20. 創建CSV文件並保存到Blobstore
- 21. 視圖能否顯示WebImage而不首先保存到文件?
- 22. 獲取kinect 3D位置值
- 23. 使用Kinect骨架3D
- 24. 當我保存時,視圖被重寫
- 25. 使用Cordova插件在iOS圖庫中保存視頻文件
- 26. 從CSV文件創建3D散點圖
- 27. 合併,重疊圖片並保存到一個文件
- 28. WPF 3D - 如何保存並加載相機視圖?
- 29. 保存文本視圖作爲圖像文件
- 30. Tomograpy 3D重建
這個人太棒了!真的非常感謝這個解決方案,我一直在尋找類似的東西。 :) – VVZen