【AR实验室】ARToolKit之Example篇

0x00 - 前言



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

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

0x01 – 示例简介


example pattern result
ARApp
解锁技能:触摸该正方体,正方体将会旋转
ARApp2
总共4个marker

支持multi markers
ARAppOSG
总共2个marker
ARAppMovie
ARAppNFT
ARAppNFTOSG
ARAppCameraTest 主要是为了测试相机的若干功能,比如屏幕分辨率切换、截屏、前后摄像头切换。
ARAppES1

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文件,你可以看到里面全是数字,不过很明显,这些应该都是颜色值:

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

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

pinball.fset
&pinball.fset3


Tip

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

hiro pattern with border hiro pattern

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


0x03 - 其他配置文件



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

  • camera_para.dat

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

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

  • markers.dat

  • models.dat

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

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

时间: 2024-11-06 09:20:50

【AR实验室】ARToolKit之Example篇的相关文章

【AR实验室】ARToolKit之概述篇

0x00 - 前言 我从去年就开始对AR(Augmented Reality)技术比较关注,但是去年AR行业一直处于偶尔发声的状态,丝毫没有其"异姓同名"的兄弟VR(Virtual Reality)火爆.至于MR(Mixed Reality)更像是Google Glass事情之后对AR的洗白.但是今年AR行业出了件大事,没错,别左右看了,说的就是你 —— Pokemon GO.暂且不讨论这款游戏是不是AR游戏,毕竟争议挺大,但是这款游戏着实是让AR火了一把.AR应用开发貌似也有了燎原之

VR/AR公司8i B轮融资获百度风投首次出手

2月14日上午消息,百度风投(Baidu Ventures)今日对外公布首个投资项目--美国虚拟现实/增强现实公司8i,百度风投参与了该公司2700万美元B轮融资.除参与投资外,百度方面称还将与8i在产品上有更加深入的合作. 公开资料显示,8i公司创立于2014年,总部位于美国洛杉矶和新西兰惠灵顿,公司专注于VR/AR/MR领域3D人物成像,致力于实现大规模.低成本.高精度的呈现3D人物,已成功开发一系列图像捕捉.拼接和压缩等核心算法,并兼容所有AR/VR平台. 目前,8i公司技术已被包括巴黎欧

OpenGL_Qt学习笔记之_05(纹理映射)(转)

转自:http://www.cnblogs.com/tornadomeet/archive/2012/08/24/2654719.html 纹理映射基础知识 什么叫纹理映射,一开始我也不明白,感觉这个词好专业(毕竟没有学过图形学),后面经过网上查找资料和这次实验稍微理解了点.纹理映射简单的讲,就是把一个纹理(其实说白了,纹理可以理解为一幅图像)映射到空间物体的表面上,因此纹理映射也叫贴图,这个表明不一定是矩形,比如说我可以是球面,或者是任意曲面.在上一篇文章OpenGL_Qt学习笔记之_04(3

18组第一次作业!

软件工程18组成员介绍 小组成员:张金琛 > 马驰 = 赵莹 > 李子祺(//按颜值排序) 组名:乌鸦坐飞机&龙卷风摧毁停车场! 以下就是各成员的自我介绍啦! ---------------------------------- 姓名:张金琛(//组长) 学号:2017218057 籍贯:天津市塘沽区 研究方向:VR.AR 实验室:A320 自我介绍: 本科就读于中国石油大学(北京)计算机科学与技术专业,四年的北京生活让我知道了津南区的艰苦(//他们说这就是人生).本科期间参加过实训项

施一公清华大学开学演讲:研究生应具备的“三大素质”

各位同学,大家上午好. 很高兴有机会与在座的研究生分享我对一些问题的看法.今天我采用的标题是我5年之前在和2010年入学的研究生分享体验时用的标题——“少年壮志不言愁”.这是一首电视剧的主题曲,也是我最喜欢唱的一首歌曲. 我想讲的第一部分是我的成长之路. 以前我在讲这一部分的时候会讲得特别长,而今天这部分只有一张幻灯片. 在座的有些同学可能还没有想明白以后要做什么,会感到焦虑:如果对科研不感兴趣.没想好未来发展该怎么办?其实我想讲的是当我在你们这个年龄的时候,也就是二十几年前,我也没有想好,也非

Finding Action Tubes - cvpr - 2015

论文题目Finding Action Tubes, 论文链接 该篇论文是CVPR 2015的, 主要讲述了action tube的localization. 直接看图说话, 该论文的核心思想/步骤可以分为两个components: 1 Action detection at every frame of the video 2 Linked detection in time produce action tubes 下面就分开来说每个component. 1 Action detection

OpenCV笔记大集锦(转载)

整理了我所了解的有关OpenCV的学习笔记.原理分析.使用例程等相关的博文.排序不分先后,随机整理的.如果有好的资源,也欢迎介绍和分享. 1:OpenCV学习笔记 作者:CSDN数量:55篇博文网址:http://blog.csdn.NET/column/details/opencv-manual.html 2:部分OpenCV的函数解读和原理解读 作者:梦想腾飞数量:20篇博文网址:http://blog.csdn.Net/xidianzhimeng/article/category/1593

关于linux

首先,Linux是一套免费使用和自由传播的类unix操作系统,是一个基于posix和unix的多用户.多多任务.支持多线程和多CPU的操作系统.严格且简单的讲,linux就是一个操作系统的内核.那linux能做什么呢,她可以做服务器.跑网站.个人PC.手机(Android,苹果unix).门禁系统.取款机ATM.路由器.物联网等等. linux是类unix操作系统,我们有必要了解unix的历史.unix:最早由KenThompson.Dennis Ritchie和Douglas McIlroy于

扯一扯前端css的整体架构设计:(2)base基础类的那些事儿

周一下午在实验室写了第一篇博文,有几个人捧场,那咱就得接着下去啊.然后我觉得现在写的内容更多的偏向于谈一下我对于前端css架构的理解和前端经验的一个小总结,所以就把标题里原来的[项目总结]给删掉了.但是这不是说以后文章就不提我手里这个半死不活的类电商网站了,还得接着提,要不然拿什么自黑呢~~ [回顾一下上一篇] 上一篇里我主要针对于我最近写的一个项目的前端结构,开始介绍了一些前端结构的一些知识或者说是经验吧. 为什么前端css也有架构,为什么要考虑css的架构,怎么实现css的简单架构,这些问题