ARToolkit在ubuntu14.04下的完整配置

AR 专栏收录该内容
1 篇文章 0 订阅

LZ最近在看一些关于利用maker对相机位姿进行估计和跟踪的问题,在查阅资料的过程中,发现有一款非常好的开源代码就是ARToolkit,哈哈,可高兴了,因为又可以有好玩的可以尝试一下。官方的教程LZ尝试发现并没有配置成功,然后继续各种百度谷歌,主要的教程好像都是基于windows下的,关于Linux的介绍很少,所以,这里做一个总结的帖子,以免后续的小伙伴们再重新走一遍坑(当然也是LZ自己要留个笔记,不然LZ这脑子肯定记不住。。。)

讲了这么多,开始进入正题了。

1.配置必要的环境
这里写图片描述

官网上是这个状态。。。然后我还是简单的翻译一下。

首先要安装OpenGL和GLUT

sudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev

可以在/usr/inlcude或者/usr/local/include找到opengl.h,glut.h,glu.h的头文件,这个算是一个简单的检验。

安装video library

这个主要是要使用电脑的摄像头,要对摄像头输入输出进行一个配置吧,上面有好几种方式,具体的LZ因为接触时间不长,对不同的视频特性也不是很了解,如果有了解的小伙伴可以多多指教。LZ就只说自己是配置的那种方法了。

LZ使用的是GStreamer0.10

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

后面看到optional就不是强制性的就没有进行配置了,如果小伙伴感兴趣可以自己配置一下。

到这里基本的环境就配置好啦!

2.安装ARToolkit

下载安装包,LZ下载的版本是ARToolKit-2.72.1.tgz是比较老的版本了

//解压到需要的文件夹中
tar zxvf ARToolKit-2.71.tgz

//下载的源代码的配置有些问题,解压后需要修改原来的配置文件,在解压后的路径下,打开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=””

#在“-lm”后增加“$GST_LIBS”
LIBS=”-lpthread -lglut -lGLU -lGL -lXi -lX11 -lm $GST_LIBS”

CONFIG=”AR_INPUT_GSTREAMER”
else
echo “Please enter 1,2,3,4 or 5.”
exit 0
fi
//修改保存后,在Terminal中执行如下命令。

//进行配置
cd {ARToolKit}
./Configure

//分别输入5, N,N。

此时执行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”

这个是要在源代码中进行修改的,如果说不想修改源码,也可以在终端中输入如下命令:

export ARTOOLKIT_CONFIG=“v4l2src device=/dev/video0 use-fixed-fps=false ! ffmpegcolorspace ! capsfilter caps=video/x-raw-rgb,bpp=24 ! identity name=artoolkit ! Fakesink”

如果是上述方法的话,每次运行终端都要输入这段命令,所以看小伙伴们自己的习惯进行配置。

这段描述可在解压目录/doc/video/index.html中查看详情。其中的device=/dev/video0需要去设备中确认并进行修改。

3.运行各种例子
make并去解压路径/bin下运行各sample。

cd bin
./videoTest

这个就是检验摄像头有没有配置成功的,如果配置成功,电脑的摄像头就会打开并进行工作。

./graphicTest

这个是检验opengl是否正常工作,如果运行成功,可以看到一个快速旋转的水壶。截图如下所示:

这里写图片描述

./simpleLite

最基础的一个增强现实的例子,具体截图如下所示:

这里写图片描述

嗯,这样ARToolkit也算是配置完成啦O(∩_∩)O哈哈~

在整理草稿的时候,发现有几个问题遗漏了,现在补充一下。下载的ARToolkit用的是OpenCV 2版本的,LZ安装的是OpenCV3.2版本,汇报如下错误:

error:"CV_CALIB_CB_ADAPTIVE_THRESH" was not declared in this scope

解决方案很简单,加上如下的头文件:

#include<opencv2/calib3d/calib3d.hpp>

参考地址:
http://www.linuxdiyf.com/linux/19005.html

  • 0
    点赞
  • 1
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
<p style="color:#666666;"> <span style="font-size:14px;">本门课程重实战,将基础知识拆解到项目里,让你项目情境里学知识。</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">这样学习方式能让你保持兴趣、充满动力,时刻知道学东西能用哪、能怎么用。</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">平时不明白知识点,放项目里去理解就恍然大悟了。</span> </p> <p style="color:#666666;"> <span></span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>一、融汇贯通</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">本视频采用了前后端分离发模式,前端使用Vue.js+Element UI实现了Web页面呈现,后端使用Python Django框架实现了数据访问接口,前端通过Axios访问后端接口获得数据。学习完本章节后,真正理解前后端各自承担工作。</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>二、贴近实战</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">本系列课程为练手项目实战:学生管理系统v4.0发,项目包含了如几个内容:项目总体介绍、基本功能演示、Vuejs初始化、Element UI使用、Django中实现针对数据增删改查接口、Vuejs中实现前端增删改查调用、实现文件上传、实现表格分页、实现导出数据到Excel、实现通过Excel导入数据、实现针对表格批量化操作等等,所有功能都通过演示完成、贴近了实战</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>三、课程亮点</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">本案例中,最大亮点于前后端做了分离,真正理解前后端各自承担工作。前端如何和后端交互</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>适合人群:</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">1、有Python语言基础、web前端基础,想要深入学习Python Web框架朋友;</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">2、有Django基础,但是想学习企业级项目实战朋友;</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">3、有MySQL数据库基础朋友</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="font-size:14px;"><img alt="" src="https://img-bss.csdnimg.cn/202009070752197496.png" /><br /> </span> </p> <p style="color:#666666;"> <span style="font-size:14px;"><br /> </span> </p>
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值