SwisTrack/開發者/設定開發環境/Linux
您需要以下程式和庫
- Subversion (SVN)
- 英特爾開源計算機視覺庫 OpenCV
- wxWidgets
以下庫是可選的,只有在您想使用相應的相機時才需要
- Basler Pylon 驅動程式
- Firewire 相機驅動程式
安裝 Subversion
sudo apt-get install subversion
安裝 wxWidgets
sudo apt-get install libwxgtk3.0-dev
安裝 OpenCV2
sudo apt-get install libopencv-dev
簽出 svn 倉庫的 trunk
svn checkout svn://svn.code.sf.net/p/swistrack/code/trunk
編譯
cd trunk make
執行
cd SwisTrackEnvironment ./SwisTrack
在 Ubuntu 8.04 上,安裝以下軟體包應該足夠了
- libwxgtk2.8-dev (wxWidgets)
- libhighgui-dev (OpenCV)
- libcvaux-dev (OpenCV)
使用Synaptic 包管理器或在終端中輸入
sudo apt-get install libwxgtk2.8-dev sudo apt-get install libhighgui-dev libcvaux-dev
來安裝這些軟體包。
如果您的發行版沒有提供軟體包,您可以手動編譯並安裝這些庫。
下載 OpenCV 1.0 原始碼 [ http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/1.0/ ] 並編譯安裝。
tar xfz opencv-1.0.0.tar.gz cd opencv-1.0.0 ./configure --prefix=/usr make sudo make install
有關詳細的安裝說明,請檢視 INSTALL 檔案。
請注意,當前的 SwisTrack Makefile 預計 OpenCV 將安裝在 /usr 字首下。如果將它安裝在其他位置,請不要忘記在 Makefile 中相應地修改 INCL_DIRS 行。
在較新的 Ubuntu 發行版中安裝 OpenCV 1.0 時,您可能會遇到以下問題
1) 錯誤訊息
../../cxcore/include/cxmisc.h:133:6: error: #elif with no expression
要修復它,請將 cxmisc.h 中的第 133 行從 #elif 更改為 #else。
2) 錯誤訊息
../../../otherlibs/highgui/.libs/libhighgui.so: undefined reference to `cvCaptureFromCAM_V4L(int)'
要修復它,請在 cvconfig.h 中的第 24 行之後新增 #define HAVE_CAMV4L。
3) 錯誤訊息
cvcap_v4l.cpp:208:28: fatal error: linux/videodev.h: No such file or directory
要修復它,請安裝 libv4l-dev 並使用以下命令連結到它
sudo apt-get install libv4l-dev sudo ln -s /usr/include/libv4l1-videodev.h /usr/include/linux/videodev.h
下載 wxWidgets 2.8.8 原始碼(wxGTK 或 wxAll)[ http://sourceforge.net/projects/wxwindows/files/wxAll/2.8.8/ ] 並編譯安裝。
tar xfz wxWidgets-2.8.8.tar.gz cd wxWidgets-2.8.8 ./configure make sudo make install
您可以隨意更改此處的字首,因為 SwisTrack 使用“wx-config”來定位 wxWidgets。
如果您有 FireWire 相機,請安裝 1394camera 驅動程式。
根據系統中安裝的 opencv 版本,您可能還需要安裝 OpenCV 遺留包。在這種情況下,執行以下命令
sudo apt-get install libcv-dev libhighgui-dev libcvaux-dev libcv2.3 libcvaux2.3 libhighgui2.3
根據您的系統配置,SwisTrack 會抱怨缺少庫。您可能會看到類似這樣的錯誤訊息
./SwisTrack: error while loading shared libraries: libwx_gtk2_aui-2.8.so.0: cannot open shared object file: No suchfile or directory
在這種情況下,您需要設定您的 LD_LIBRARY_PATH 變數以指向這些庫安裝所在的目錄。如果您使用的是 bash shell,則可以透過以下方式實現
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
在 Ubuntu 10.10 上,需要以下操作:export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH 並在 cvaux 庫上建立一個動態連結:sudo ln -s libcvaux.so.2.1 libcvaux.so 在 /usr/lib/ 中