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/ 中