2011-11-28 97 views
2

我正在研究一個涉及使用Microsoft Kinect創建對象的3D模型的項目。 我打算使用Microsoft Kinect SDK OpenNI以不同角度捕捉對象的雲點,並使用ICP映射和創建對象的3D。 如果我在上面的陳述中有錯,請糾正我的錯誤。因爲我是一個業餘愛好者,所以我真的不知道我是否正朝着正確的方向前進。我的硬件細節是 - Microsoft Kinect,Windows 7 - 64位,Microsoft Visual Studio 2010,Microsoft Kinect SDK,OpenNI,Primesense,NITE(所有安裝使用.exe或自我提取器,我沒有使用cmake ..因爲我遇到了這麼多的錯誤!)使用OpenNI和Kinect獲取雲點

截至目前,我已經能夠連接我的Kinect,並使用一些演示教程在線我能夠查看RGB數據和Kinect的深度圖。 我正在閱讀有關OpenNI的內容,但無法在此方面取得很大進展。 (有一個在C代碼++和C#) 現在的問題 -

  1. 我如何獲得我把對象的每個圖像的「點雲」?我應該使用OpenNi嗎?

  2. 獲得每個圖像的雲點後,我打算運行ICP算法。我可以使用任何詳細信息或鏈接瞭解並實施它?

  3. 運行ICP算法後,我需要顯示重新創建的3D,那麼我應該使用Visual Studio 2010本身來做它嗎?

  4. 我遇到過一些像'Meshlab'這樣的軟件,它們使用.ply文件來幫助創建3D .. .ply數據從Kinect的深度圖中獲得...這是我可以看到的另一個方向嗎?

感謝 阿迪亞

回答

2
  1. 我不是太熟悉Kinect的,因爲我還沒有使用它,但http://borglabs.com/blog/create-point-clouds-from-kinect可能是有幫助的。我似乎記得讀過,你會想要在Kinect中校準相機。 http://www.vision.caltech.edu/bouguetj/calib_doc/可能會爲您確定相機校準參數提供良好的開始。 http://opencv.willowgarage.com/wiki/是一個C++庫,提供相機校準的C/C++實現。 http://nicolas.burrus.name/index.php/Research/KinectRgbDemoV6看起來更像Kinect專用的解決方案。

  2. http://vtk.org/提供了ICP的實現。 http://pointclouds.org/也包含註冊算法。

  3. VTK提供了封裝OpenGL的類,使數據可視化變得簡單。也許我提到的其他一些庫也可以這樣做,但我對它們並不熟悉。

  4. PLY文件只是許多3D文件格式中的一種......它是一個通用容器,可容納頂點座標以及通過連接頂點形成的多邊形。再次,VTK提供讀/寫PLY的類以及許多其他3D文件格式。

+0

非常感謝您的建議!我會盡快回復我的發現。 – Aditya