【AR实验室】ARToolKit之Example篇 (转)

转自:http://www.cnblogs.com/polobymulberry/p/5905680.html

0x00 - 前言

PS : 我突然意识到ARToolKit本质可能就是一个可以实时求解相机内外参的解决方案。

拿到一个新的SDK,90%的人应该都会先跑一下Example。拿到ARToolKit的SDK,也不例外。不过本人之前是做iOS开发的,所以从官网下载的是ARToolKit5-bin-5.3.2-iOS.tar.gz。后面的博客内容基本上也都是围绕这个SDK进行的。当然,如果今年秋季出了ARToolKit6,我也会立马跟进的,听说ARToolKit加入了SLAM。

回到顶部

0x01 – 示例简介

examplepatternresult

ARApp

【AR实验室】ARToolKit之Example篇 (转)_第1张图片
【AR实验室】ARToolKit之Example篇 (转)_第2张图片

解锁技能:触摸该正方体,正方体将会旋转

ARApp2

【AR实验室】ARToolKit之Example篇 (转)_第3张图片

总共4个marker

【AR实验室】ARToolKit之Example篇 (转)_第4张图片

支持multi markers

ARAppOSG

【AR实验室】ARToolKit之Example篇 (转)_第5张图片

总共2个marker

【AR实验室】ARToolKit之Example篇 (转)_第6张图片

ARAppMovie

【AR实验室】ARToolKit之Example篇 (转)_第7张图片
【AR实验室】ARToolKit之Example篇 (转)_第8张图片

ARAppNFT

【AR实验室】ARToolKit之Example篇 (转)_第9张图片
【AR实验室】ARToolKit之Example篇 (转)_第10张图片

ARAppNFTOSG

【AR实验室】ARToolKit之Example篇 (转)_第11张图片
【AR实验室】ARToolKit之Example篇 (转)_第12张图片

ARAppCameraTest无主要是为了测试相机的若干功能,比如屏幕分辨率切换、截屏、前后摄像头切换。

ARAppES1

【AR实验室】ARToolKit之Example篇 (转)_第13张图片
【AR实验室】ARToolKit之Example篇 (转)_第14张图片

回到顶部

0x02 - Pattern文件

pattern指的是你识别的图片模板,虽然上述表格使用图片来表示pattern,但是在ARToolKit中,我们需要对图片进行训练,对于marker类型的图片是输出”.patt”文件以便ARToolKit进行识别。而NFT(Natural Feature Tracking)自然图片是输出FeatureList,比如上述使用的pinball.jpg输出的FeatureList就是“pinball.fset”、”pinball.fset3”(而pinball.iset表示的是pinball.jpg的image set,即原始的图片信息)。关于图片/marker训练这一部分后面会专门开一章详解

pattern的图片可以打印出来,example中的pattern图片都是放在doc/patterns文件夹下。比如hiro pattern的pattern文件就是hiro.patt。

打开hiro.patt文件,你可以看到里面全是数字,不过很明显,这些应该都是颜色值:

【AR实验室】ARToolKit之Example篇 (转)_第15张图片

考虑到hiro是黑白图,所以我将这些颜色值当做灰度值进行了图片输出,得到了下面这张图片。敢情hiro.patt的本质其实是这样的:

而pinball.jpg的pattern文件是这样的:

pinball.fset

&pinball.fset3

【AR实验室】ARToolKit之Example篇 (转)_第16张图片

Tip

pattern的图片存放在doc/patterns文件夹下,hiro pattern有两张图片

hiro pattern with borderhiro pattern

【AR实验室】ARToolKit之Example篇 (转)_第17张图片
【AR实验室】ARToolKit之Example篇 (转)_第18张图片

实际使用中,可以明显发现hiro pattern with border的识别率远远高于hiro pattern,这是因为有了border的对比(注意到border和pattern黑色边缘的对比明显),对于pattern的识别率有显著提高。

回到顶部

0x03 - 其他配置文件

除了pattern文件,每个example都有三个同样的文件 – camera_para.dat、markers.dat、models.dat。

camera_para.dat

相机标定获取到的相机内参。

下图解释了内参与外参的含义(来源自知乎机器视觉的相机标定到底是什么?)。

【AR实验室】ARToolKit之Example篇 (转)_第19张图片

markers.dat

【AR实验室】ARToolKit之Example篇 (转)_第20张图片

models.dat

【AR实验室】ARToolKit之Example篇 (转)_第21张图片

另外还有TRANSPARENT选项,添加这个字段表示该模型有透明部分。

其实你也可以通过修改程序,增加自己的配置选项,还是很方便扩展的。

你可能感兴趣的:(【AR实验室】ARToolKit之Example篇 (转))