1. 程式人生 > >用Kinect1和Raspberry pi2製作簡易3D掃描器

用Kinect1和Raspberry pi2製作簡易3D掃描器

宣告:本文章大部分源自我對Mario Lukas的博文的翻譯

原文參考下面的連結

http://www.mariolukas.de/2015/04/proof-of-concept-3d-scanner-with-kinect-and-raspberry-pi2/

首先你要擁有一個帶小型顯示器的樹莓派2與Kinect1,因為Kinect2使用的是USB3.0,這在樹莓派2上是不被支援的。

似乎libfreenect提供了所有Kinect所適配的功能。

首先我們需要安裝所有需要用到的庫。 我們首先要更新套件列表。

sudo apt-get update

接下來我們需要安裝一些用來構建libfreenect的庫和工具

Python和OpenCV 的相關元件
sudo apt-get install build-essential python-dev ipython python-opencv
sudo apt-get install python-numpy python-scipy
製作libfreenect的工具和附件
sudo apt-get install git-core git
sudo apt-get install freeglut3 freeglut3-dev libxmu-dev libxi-dev
sudo apt-get install cmake cmake-curses-gui pkg-config
在通訊過程中libfreenect依靠libusb:

我們必須構建libusb,因為之前的版本不支援現在版本的libfreenect

sudo apt-get install libudev-dev

首先我們需要找到libfreenect的資源,解壓並編譯它(這裡注意如果按照下面的命令輸入可能會出現Unable establish SSL connection 的錯誤,可能是因為網站不允許非瀏覽器方式獲取檔案,那麼只要在wget後面加上引數 --no-check-certificate應該就可以了)

sudo wget http://sourceforge.net/projects/libusb/files/libusb-1.0/libusb-1.0.19/libusb-1.0.19.tar.bz2/download

tar xvjf download
cd libusb-1.0.19
./configure
make
sudo make install

最後安裝這個庫。當安裝過程完成時,我們就可以安裝libfreenect了

cd ..
git clone https://github.com/OpenKinect/libfreenect.git
cd libfreenect
mkdir build
cd build
ccmake ..

這裡我們要弄清這麼幾件事。首先,按c鍵。然後將BUILD EXAMPLES選項改為OFF,再確認LIB_1_INCLUDE_DIR的路徑指向 /usr/local/include/libusb-1.0。最後再次按c鍵,然後再按g鍵。如果有回到終端平時的介面,那麼就開始編譯咯:

cmake ..
make
sudo make install

恭喜,如果沒有出現錯誤的話,你已經搞定了。你可以進入wrapper路徑測試驅動程式和庫:

cd ../wrappers/python
在這裡你必須要裝上libfreenect的python庫
sudo python setup.py install

這樣你就可以準備執行一下你的Kinect了,嘗試執行一些應用樣例,比如async demo

sudo python demo_cv_async.py

這些範例是不支援多執行緒過程的,如果你只有一個單一的工作流就可以得到一個完好的深度影象流了。

由於我的翻譯及技術水平有限,如有錯誤還請指正。我的製作過程基本就是按照以上命令敲出來的,作為一個Linux小白來說很多命令還不是很懂,由於馬上期末了,期末過後會好好研究一下libfreenect裡面的原始碼。