ubuntu16.04下安装artoolkit5

目前对AR技术的常见理解就是CV(Computer Vision)+CG(Computer Graphic)。CV的方法很多,简单些比如FREAK+ICP(ARToolKit中的NFT),复杂些就是SLAM(Magic Leap)。CG就没什么好说的,利用CV算法获取到的图形相关信息(比如CG中的模型矩阵、视图矩阵、投影矩阵)进行绘制。从这一点上来说Pokemon GO确实不能算作AR游戏,毕竟人家只是基于LBS的。

从目前来看vision based的AR系统才是主流。但是局限于我个人的见识,只使用过Vuforia、EasyAR、ARToolKit。大家有兴趣的话,可以看一下知乎上的讨论 - 有哪些比较优秀的AR开源项目,或者SDK?

Vuforia没得说,商业SDK,支持的特性也比较多,好像可以支持3D Object Tracking,具体支持到什么程度,还没有尝试,大家感兴趣可以登录Vuforia官网。EasyAR是国内的一款SDK,AR识别性能还是要赞一个,大家可以去看EasyAR官网视频,还是很真实地反映了其性能(不像Magic Leap之前那个鲸鱼的视频),个人还是很看好的,比起Vuforia最大优势是免费使用时不需要水印(^_^;)。而ARToolKit相对上述两个SDK在识别性能和特性上表现的不是很突出,但是ARToolKit胜在开源,如果你需要做一些AR业务扩展,而Vuforia和EasyAR不能满足你,ARToolKit是一个很好的选择。而且AR其中一个趋势就是集成到现有App中,那么使用Vuforia和EasyAR的代价就比较大了。另外作为一个学生,抱着研究学习的心态,ARToolKit就再合适不过了。

所以后期我还是专注于ARToolKit的研究上,听说今年秋天ARToolKit6将发布,还是很期待的,ARToolKit官网链接请戳

ARToolKit系统核心思路是这样的:

下面以NFT(自然图片追踪,Natural Feature Tracking)为例,简述AR实现流程

1. 通过相机校准(标定),获取到因为相机制造工艺偏差而造成的畸变参数,也就是相机内参(intrinsic matrix),来复原相机模型的3D空间到2D空间的一一对应关系。这对后面的特征提取步骤有很大作用。

2. 根据相机本身的硬件参数,我们可以计算出相应的投影矩阵(Projection Matrix)。

3. 对待识别的自然图片(也就是任意的一张二维图片)进行特征提取,获取到一组特征点{P1}。

4. 实时对相机获取到的图像进行特征提取,也是一组特征点{P2}。

5. 使用ICP(Iterative Closest Point)算法来迭代求解这两组特征点的RT矩阵(Rotation&Translation),即Pose矩阵,也就是图形学中常说的模型视图矩阵(Model View Matrix)。

6. 有了MVP矩阵(Model View Projection),就可以进行图形绘制了。

ARToolKit支持特性



目前来说,ARToolKit支持自然图片/Marker/2D BarCode的识别。

  • 自然图片处理

这个应用比较广泛,对用户的限制也会小很多。不过最好使用一些特征比较明显的图像,效果会更好。

  • Marker/MultiMarker

这是一种经过特殊处理的图像,需要在边缘包裹两层,最外侧是包裹了白色/浅色边缘,内侧是包裹了黑色边缘,大家猜也能猜出来这样做主要是提高识别度,同时也方便计算Pose(因为可以直接提取边缘来计算Pose)。如下图:

  • 2D BarCode(二维码)

这个没什么好说的,最常见的。

另外ARToolKit目前支持的渲染引擎是OSG(OpenSceneGraph),不过版本比较低。当然,你也可以使用OpenGL ES进行绘制。毕竟我们只需要获取到了MVP矩阵,理论上绘制部分是可以完全分开的。

参考资料


实际体验

ubuntu16.04下安装artoolkit



github上有artoolkit在linux上的安装文档,https://github.com/artoolkit/artoolkit5

安装依赖项

sudo apt install clang
sudo apt install libc++-dev

ARToolKit follows the Linux model whereby required software is externally installed. The following packages are required to be installed in your package manager to run the ARToolKit examples. (Additional packages required to build ARToolKit from source are listed on that help page.)

  • C++ runtime: use the standard libstdc++ or install the package ‘libc++1‘.
  • OpenGL: Package ‘xorg‘
  • OpenCV (unless building with Clang). Packages: ‘libopencv-dev‘.
  • GLUT: Package ‘freeglut3‘. Alternatively, GLUT can be built from source and is also included in the MESA 3D libraries:
  • Video4Linux, lib1394dc, or GStreamer. Packages: ‘libv4l2-0‘, ‘libdc1394-22‘ (for lib1394 version 2.x) or ‘libdc1394-13‘ (for lib1394 version 1.x), and ‘libgstreamer1.0‘ or ‘libgstreamer0.10‘.
  • OpenSceneGraph (optional; The ARToolKit OSG renderer requires OpenSceneGraph). Package ‘openscenegraph‘.
  • 安装需要 OpenGL  OpenCV  Video4Linux  可选OpenSceneGraph
sudo apt install libc++1
sudo apt install libopencv-dev
sudo apt-get install libdc1394-22 libraw1394-dev
sudo apt-get install libv4l-dev
sudo apt-get install libgstreamer1.0
sudo apt-get install libgstreamer0.10

以上依赖项都安装完成后,就可以下载artoolkit的源码编译安装

git clone https://github.com/artoolkit/artoolkit5.git

cd到源文件目录下执行

cd artoolkit5
./share/artoolkit5-setenv

./Configure

./Configure
make

一路 y,没有报错的话就安装成功了

好了之后 就会发现有一个bin目录:

再跑它的例子的时候要注意一下:

Linux:

simpleLite can be launched from a terminal window thus:

  • First, set the environment variable ARTOOLKIT5_VCONF to indicate the video device to be used; for example, to use a Video4Linux2 camera, do: export ARTOOLKIT5_VCONF="-module=V4L2" or to use a camera driven via GStreamer, do export ARTOOLKIT5_VCONF="-module=GStreamer"
  • then cd to the bin directory and do ./simpleLite

也可以参考一下 他的博文:https://blog.csdn.net/sinat_37335165/article/details/73467764

参考:

[1] http://www.cnblogs.com/polobymulberry/p/5857372.html

[2] https://blog.csdn.net/weixin_41330194/article/details/80607382

原文地址:https://www.cnblogs.com/feifanrensheng/p/9164063.html

时间: 2024-12-27 10:36:53

ubuntu16.04下安装artoolkit5的相关文章

Ubuntu16.04下安装redis

Ubuntu16.04下安装redis 保证网络畅通,选定好下载工作路径,执行以下命令下载redis-3.2.6: sudo wget http://download.redis.io/releases/redis-3.2.6.tar.gz  解压该文件: sudo tar -zxvf redis-3.2.6.tar.gz 会在当前目录下生成文件夹redis-3.2.6,我把它移动到了/usr/redis目录下: sudo mv redis-3.2.6 /usr/redis 如果没有安装gcc,

Ubuntu16.04下安装oracle客户端

在Ubuntu16.04下安装oracle数据库客户端,使Django项目连接到Oracle数据库 1.下载oracle客户端安装包: 进入官网http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html下载如下所需的三个包. oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm oracle-instantclient11.2-devel-11.2.0.4.0-1

ubuntu16.04下安装petalinux

ubuntu16.04下安装petalinux 参考https://www.cnblogs.com/vacajk/p/6146146.html 安装环境: 1. ubuntu 16.04 2. petalinux-v2015.4 3. 目标板:zynq 7010 SOC 安装步骤: 1. 在home目录下新建两个文件夹:petalinux和petalinux_installer两个文件夹,将安装包petalinux-v2015.4-final-installer-dec.run放到文件夹peta

Ubuntu16.04下安装texlive

Ubuntu 16.04下安装texlive的步骤如下: 1.下载texlive 打开终端输入:sudo apt-get install texlive-full  #下载这一过程会持续10-20分钟 2.接下来的按照如下网址安装即可:http://linux-wiki.cn/wiki/zh-hans/LaTeX%E4%B8%AD%E6%96%87%E6%8E%92%E7%89%88%EF%BC%88%E4%BD%BF%E7%94%A8XeTeX%EF%BC%89 注意有个语句:sudo cp

ubuntu16.04下安装NS-2.35以及对simple例的理解

本人是在VMWare上安装的ubuntu16.04版本,然后安装NS2.35. 1.下载ns2的安装包,这里我选择的是ns-allinone-2.35.tar.gz压缩格式的all in one安装包,all in one 安装包包含所有的组件,比较方便,另附下载地址: http://www.isi.edu/nsnam/ns/ns-build.html 2.安装前要先进行一些准备工作进行配置环境,输入如下代码: $sudo apt-get install build-essential $sud

ubuntu16.04下安装opencv3.2版本

本记录为在vbox虚拟机下已经安装好Ubuntu16.04版本Linux系统. 1.下载OpenCV的源码 OpenCV官网上有linux版本的源码包可以下载,不过最好是从git上下载,这样可以保证下载得到的是最新的代码: 1 wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.2.0.zip 2 unzip opencv.zip 2.编译安装 进入到OpenCV的文件夹中,创建一个build目录,进行编译: 1 cd op

ubuntu16.04下安装部署zabbix3.0

查看系统版本:lab_release -a 一. 配置zabbix软件下载源 #  wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+trusty_all.deb #  dpkg -i zabbix-release_3.0-1+trusty_all.deb #  apt-get update 二. 安装Server端 需要安装如下组件: apache2 php

Ubuntu16.04下安装python3.6.4详细步骤

记录一下: Ubuntu16.04自带的python版本为python2.7和python3.5,现在想要安装python3.6.4,注意:系统自带的python版本别删除 步骤: # 官网下载安装包 1. wget http://www.python.org/ftp/python/3.6.4/Python-3.6.4.tgz # 解压 2. tar -xvzf Python-3.6.4.tgz # 安装 3. cd Python-3.6.4 4. ./configure --with-ssl

Ubuntu16.04下安装新QQ

之前在Ubuntu下安装QQ时费了好久也只安装个国际版的QQ,今天无意间看到一个安装winqq的方法,可以安装新版QQ. 原地址http://www.jianshu.com/p/1150aa5a6cec 下面是效果展示: 话不多说,进入正题. 首先要安装win: sudo add-apt-repository ppa:wine/wine-builds sudo apt-get update sudo apt-get install winehq-devel 运行这三条命令后就安装好了win了.