跳至內容

SwisTrack/開發者/設定開發環境/Linux

來自華夏公益教科書,開放世界的開放書籍

先決條件

[編輯 | 編輯原始碼]

您需要以下程式和庫

以下庫是可選的,只有在您想使用相應的相機時才需要

  • Basler Pylon 驅動程式
  • Firewire 相機驅動程式

Ubuntu 12.04 及更高版本

[編輯 | 編輯原始碼]

安裝 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

[編輯 | 編輯原始碼]

在 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

[編輯 | 編輯原始碼]

下載 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

[編輯 | 編輯原始碼]

下載 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 版本,您可能還需要安裝 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/ 中

華夏公益教科書