ARToolKit 它是一个C/C++ 语言编写的库,通过它可以让我们很容易的编写 增强现实 应用程序。
增强现实(AR)是将电脑虚拟的图像覆盖到真实世界画面中,这个技术在工业和理论研究方面都存在着极大的潜能。
对于开发一个AR程序来说,最困难的部分在于实时的将虚拟图像覆盖到用户视口,并且和真实世界中的对象精确对齐。ARToolKit使用电脑图像技术计算 摄像机和标记卡之间的相对位置,从而使程序员能够将他们的虚拟对象覆盖到标记卡上面。ARToolKit 提供的快速和准确的标记跟踪,能够让你快速的开发出许多更新更有趣的AR程序。
这篇导读包含了 ARToolKit 库的完整介绍,包括如何安装它和如何在程序中使用它的各种功能。ARToolKit SDK中附带了一些简单例子程序,它们可以帮助开发者学习如何使用该库。ARToolKit 包含了跟踪库和这些库的完整源代码,开发者可以根据平台的不同调整接口,也可以使用自己的跟踪算法来代替它们。
ARToolKit 目前支持以下操作系统:
SGI IRIX
PC Linux
Mac OS X
PC Windows (95/98/NT/2000/XP)
ARToolKit 的最终版本将会是跨平台的..对于开发包来说,这些不同版本的函数集都是一样的,只是其实现利用了相关平台上的硬件特性。
目前版本的ARToolKit同时支持 Video(普通视频) 和 标准的see-through AR . Video see-through AR 是指将虚拟图像覆盖到实时视频。标准的see-through AR要求使用者具备头部现实设备(带在眼睛上的那种摄像设备),并且它有着更加复杂的视频标准和注册要求。
随时欢迎任何关于ARToolKit 的交流、问题和BUG提交。关于新版本的发布、活跃的用户群、正在使用ARToolKit的开发者这些信息都可以通过 ARToolKit 的邮件获得,并且有一个活跃的社区(BBS) (见 community webpage). Bug reports and fixes,(Bug 报告和修复) patches, (补丁)and feature requests (要求新增功能),这些常规项目自然也有。你可以通过上面的连接访问位于 SourceForge 的 ARToolKit项目。
本质上讲, ARToolKit 是一个许多软件库的集合--一同连接到目标程序。所以 ARToolKit 是以源代码形式发布的,而你必须自己编译它--在指定的平台和操作系统环境下(这不就是偷懒嘛)。你需要一个对应操作系统下的开发环境,每个平台上都有免 费的开发环境可用。当然也可以在不免费的VS中编译(无语了)。
虽然 ARToolKit 为各个平台提供了同样的函数(接口),但是安装则不尽相同。在这篇文章里我们将指导你在不同的环境下进行安装。(挺温暖哈,不过我只摘了Windows平台)
你的机器、操作系统和平台都必须满足基本需求。你的硬件必须包括一个视频流输入设备和足够的(剩余的)CPU去执行视频的处理和显示任务。同时也依赖于许多其他的库,这对于编译和连接来说非常重要。
最主要的依赖库是OpenGL ,GLUT。另外就是视频处理库,如DirectShow,V4L,QuickTime等。我们会在下面列出各个平台上相关的依赖库清单。
必备条件 | 介绍 |
开发环境 | 支持 Microsoft Visual Studio 6 和 Microsoft Visual Studio .NET 2003 , 不过你也可以用其他免费的开发环境进行生成 (例如 Cygwin, http://www.cygwin.com/) |
DSVideoLib-0.0.8b-win32 | 在Windows平台上, DSVideoLib 用于和摄相头驱动进行通信. ARToolKit 2.71 要求使用DSVideoLib-0.0.8b 或以上版本。以下地址提供了源代码和二进制库文件的下载 ARToolKit downloads page on sourceforge. |
GLUT | 检查是否安装过GLUT运行时库和SDK. 如果没有,你可以从这里下载到http://www.xmission.com/~nate/glut.html 检查你的系统里有没有GLUT运行时库,比如 c:/windows/system32
检查你的VS是否有GLUT的SDK
|
DirectX Runtime | DX9.0b 以上 |
视频输入驱动 | 将摄相头接到电脑上,安装好必需的驱动. 运行amcap.exe 以检查你的摄相头是否安装了VFW 或WDM驱动(可以在DX SDK中找到,Samples/C++/DirectShow/Bin)。检查你的驱动列表 (见插图1). |
(可选的, 使用VRML需要这个) OpenVRML-0.14.3-win32 |
你可以在这里下载到 OpenVRML 的源代码和二进制文件 ARToolKit downloads page on sourceforge. |
现在你可以开始生成 ARToolKit 了. 生成步骤如下:
VRML渲染库和例子是可选的:
当前版本的 ARToolKit 不再需要特定的路径了;目前ARToolKit 工程中设置的路径能够适用于编译你的ARToolKit 应用程序(就好了,我们自己肯定要改的撒) 将ARToolKit编译为静态库,它就可以被连接到任意程序了。为了使用ARToolKit ,你需要一些有效的标记卡(识别卡):一些默认的标记卡在 patterns 文件夹中。你可以使用任何PDF阅读器打开它并打印出来。它们对你接下来的实验很有用。ARToolKit 需要比较硬的标记卡(刚体),一个简单的方法就是将纸片粘到卡片上(参见 hardware )。然后你需要检测ARToolKit 的图形部分是否工作正常。运行 bin 文件夹下的 graphicsTest.exe ,如果一切正常,将出现如下的窗口:
--------------------------------------------------------------------------------------------------
一旦ARToolKit 安装好,就可以运行一个简单的程序来检验一下。simpleTest 或者其他程序(取决于你的ARToolKit 版本)。
PS:2.7.2 运行 simpleLite 会好一些,弹出来的对话框如果点确定没什么效果,或出现无法连接到camera,试试点取消。
为了能完整的进行测试,你需要将patterns文件夹下的hiroPatt.pdf 打印出来(其实直接照屏幕都行,Camera又分辨不出什么是纸)。最好能将它制作成一张卡片。
所有的例子程序都输出到同一个目录,文章接下来将描述在各个平台上运行例子程序时的具体情形。
不管在哪种平台下,你都有2种选择:双击应用程序或者使用命令行:使用后者更好,因为ARToolKit 使用标准输出流。每种平台下,在执行ARToolKit 主循环代码前,都会弹出配置视频模式的对话框。
双击 bin 文件夹中的 simple.exe 程序。出现一个DOS控制台窗口和一个对话框,当点击确定后,摄像机将启动。或者通过命令行启动。
这个例子向你展示了一个基于 ARToolKit 的视频软件,在下一个章节我们将简单了解 ARToolKit 的工作原理。
Pattern Size (inches) | Usable Range (inches) |
2.75 | 16 |
3.50 | 25 |
4.25 | 34 |
7.37 | 50 |
最后,跟踪效果还受到光照条件的影响。光可能产生反射和折射,这会令识别标记更加困难。为了减少这样的情况,可以使用一些不容易产生反射的材质来制作标记。比如使用三夹板(建筑材料)。在工艺品店买到的名为“fuzzy”的带绒毛的纸张(不知道是什么,听起来象劣质手纸...)效果也很好。
你可以在如下页面中得到更多信息 page.