前言
Ubuntu 1404安装ARToolKit会遇到一些问题,网上这方面的帖子比较少,故整理下安装过程,供大家参考。
ARToolKit是一个C/C++语言编写的库,通过它可以很容易地编写增强现实应用程序。AR是将电脑虚拟的图像覆盖到真实世界画面中,这个技术在工业和理论研究方面都存在着极大的潜能。
对于开发一个AR程序来说,最困难的部分在于实时地将虚拟图像覆盖到用户视口,并且和真实世界中的对象精确对齐。ARToolKit使用图像技术计算摄像机和标记卡之间的相对位置,从而使程序员能够将虚拟对象覆盖到标记卡上面。
安装过程:
1, 下载ARToolKit,并解压到某文件夹下。
下载路径:http://www.hitl.washington.edu/artoolkit/download/#linux
假设解压路径为X。
2, 安装glut
ARToolKit首先依赖的是glut,在Terminal中执行如下命令完成安装。
sudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa-dev
freeglut3-dev
3, 安装gstreamer
Ubuntu1404不支持老版本的camera driver:libv4l1,仅可用libv4l2。但是ARToolKit仅支持libv4l1,否则编译不过去。为了解决这一问题,选用gstreamer方式调用Camera。同样在Terminal中执行如下命令完成安装。
sudo apt-get install libgstreamer0.10-dev gstreamer-tools gstreamer0.10-tools gstreamer0.10-doc gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse
4, 在X路径下,打开Configure文件,按如下说明修改
elif [ "$ANS" = "5" ]
then
VIDEO_DRIVER="VideoGStreamer"
GST_INCLUDE=pkg-config --cflags gstreamer-0.10
GST_LIBS=pkg-config --libs gstreamer-0.10
CFLAG=”-O $GST_INCLUDE -I/usr/X11R6/include”
LDFLAG=”$GST_LIBS -L/usr/X11R6/lib -L/usr/local/lib”
ARFLAG=”rs”
RANLIB=””
LIBS=”-lpthread -lglut -lGLU -lGL -lXi -lX11 -lm $GST_LIBS” #在“-lm”后增加“$GST_LIBS”
CONFIG=”AR_INPUT_GSTREAMER”
else
echo “Please enter 1,2,3,4 or 5.”
exit 0
fi
修改保存后,在Terminal中执行如下命令。
>>cd X
>>./Configure
分别输入5, N,N。
5, 此时执行make并运行一些sample会提示错误,
GStreamer-CRITICAL **: gst_parse_launch_full: assertion ‘pipeline_description != NULL’ failed
这是因为还缺少对camera的描述。可在相应sample源码中对vconf变量赋下面的值。
char *vconf = “v4l2src device=/dev/video0 use-fixed-fps=false ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,bpp=24 ! identity name=artoolkit ! Fakesink”
这段描述可在X/doc/video/index.html中查看详情。
其中的device=/dev/video0需要去设备中确认并进行修改。
6, make并去X/bin下运行各sample。
比如
cd bin
./videoTest