ARTOOLKIT安装与配置

来源:互联网 发布:淘宝店铺特色装修 编辑:程序博客网 时间:2024/05/14 14:36

ARToolKit Documentation 引言

目前市面上卖的免驱动摄像头,都使用uvcvideo进行驱动。uvcvideo在v4l上有问题,需要用v4l2。 下面的来自uvc论坛: The Linux UVC projects is currently focussing on kernel support for UVC devices. The driver implements the Video4Linux 2 (V4L2) API. Support for V4L1 is not planned. … Video corruption has been noticed when the camera is connected to a USB 1.1 controller. For better performances, connect the camera to a USB 2.0 controller. 由于ARToolKit没有对应v4l2的接口,所以SETUP后面的内容无法验证。待修改相关内容后,再做验证。


介绍

ARToolKit是一组C/C++的库函数。借助它,你可以很容易的进行Augmented Reality程序的开发(AR,“增强现实”或“扩充现实”)。 Augmented Reality (AR)就是把虚拟的图像叠加到现实世界的图像上,这种技术在很多应用领域诸如工业和学术研究上有潜在价值。 开发AR应用最困难的一点就是如何实时的精确的计算出用户的视点,从而将虚拟的图像精确的叠加到现实图像上。ARToolKit使用了Computer Vision技术,通过这种技术,我们可以计算出摄像机相对于标志卡片的位置和姿态。这样,程序开发人员就可以把虚拟的物体叠加到这个标志卡上。应用ARToolKit提供的快速定位功能,开发者就可以快速开发出许多有意思的AR应用程序。
ARToolKit目前可以运行在SGI IRIX、PC Linux、Mac OS X、PC Windows (95/98/NT/2000/XP)上。最新发布的版本是多平台的(平台无关的)。ARToolKit每个版本的功能都是一样的,但是根据硬件配置的不同其性能也会大相径庭。
(注:see-through意“透明”,我觉得“视穿”比较酷)
如果在开发和应用过程中遇到了问题,请加入我们的邮件列表。我们将很乐于帮助你解决这些问题。另外,我们也会把关于ARToolKit的最新消息和其他开发者遇到的问题公布到邮件列表和论坛中( http://www.hitl.washington.edu/artoolkit/community/ )。BUG的提交与修复、补丁和新功能请求需要使用ARToolKit在SourceForge上的tracker页来提交,在上边的网址里也能找到它的连接。

使用ARToolKit之前的重要注意事项

ARToolKit遵循GNU GPL许可证,对于任何非商业性质的应用都是免费的。 ARToolKit专业版适用于希望将之应用于商业用途,或希望得到更多的支持,或希望定制ARToolKit的用户,这些用户不再适合GPL许可证。商业许可证由ARToolworks, Inc., Seattle, WA, USA管理。

安装介绍

当然,ARToolKit也支持在Microsoft Visual Studio中进行编译。 尽管ARToolKit为各种平台提供了类似的功能,安装方法却不尽相同。本文档的这个部分就是介绍如何在不同平台上安装并配置ARToolKit。
要安装并使用ARToolKit,你的机器、操作系统和平台必须满足基本要求。你的硬件必须能获取视频流,并且CPU性能要足够好,以便同时进行图像的处理和显示。在软件方面需要满足一些(软件包的)依赖关系,否则会导致编译错误。主要的依赖关系都是跨平台的(如OpenGL和GLUT),其他的依赖关系需要根据你自己的操作系统来满足(如DirectShow,V4L,QuickTime) 下面的部分将具体列出各操作系统中的依赖关系。

编译ToolKit

在Windows中编译
安装前的准备:

需满足的软件包 安装指导 开发环境 Microsoft Visual Studio 6和Microsoft Visual Studio .NET 2003都可以。也可以使用开源开发环境(例如Cygwin, http://www.cygwin.com/) DSVideoLib-0.0.8b-win32 在Win系统中,DSVideoLib是用来和摄像头驱动进行通信的包。ARToolKit 2.71需要使用DSVideoLib-0.0.8b或更新的版本。DSVideoLib的源代码和二进制包在ARToolKit downloads page on sourceforge可以下载到。 GLUT 确定GLUT运行包和SDK包都正确安装了。如果没有安装,可以在http://www.xmission.com/~nate/glut.html下载GLUT的二进制包。 在你的系统目录下(如c:/windows/system32)察看是否有glut32.dll,如果有,说明GLUT运行包已经被安装了。 在VC++的安装目录下(Include/gl/glut.h和Lib/glut32.lib)察看glut.h与glut32.lib是否存在。如果存在,说明GLUT SDK已经被安装了。 DirectX Runtime Windows XP下是默认安装DirectX运行期包的。如果没有,请在microsoft网站下在安装DirectX 9.0b或更新版本的运行期包。 视频采集设备 安装摄像头和相关驱动。确保你的摄像头有VFW驱动或WDM驱动。确认方法是运行amcap.exe(这个程序在DirectX SDK中,Samples/C++/DirectShow/Bin目录下)。从Devices中可以察看到设备的状态(见下图)。这里写图片描述 (可选项,用于VRML渲染) OpenVRML-0.14.3-win32 OpenVRML的源代码和二进制包可以在ARToolKit downloads page on sourceforge下载

编译ARToolKit:
按照以下步骤编译ARToolKit. Build:

  1. 将ARToolKit.zip解压到任一的目录下。为叙述方便,后面用{ARToolKit}代替该目录。
  2. 把DSVideoLib.zip也解压到{ARToolKit}。确保解压后的文件在名为“DSVL”的目录下。
  3. 把{ARToolKit}/DSVL/bin下的DSVL.dll和DSVLd.dll拷贝到{ARToolKit}/bin下。
  4. 把GLUT DLL拷贝到/Windows/System32/目录下,把GLUT
    SDK的.h和.lib文件放到VStudio的相应目录下(参考前表)
  5. 运行脚本{ARToolKit}/Configure.win32.bat,自动建include/AR/config.h。
  6. 打开ARToolKit.sln(如果开发环境是VS.NET)或者ARToolkit.dsw(VS6的情况)。
  7. 编译toolkit.。

VRML渲染库和例子根据需要进行编译(libARvrml 和 simpleVRML)。步骤如下:

  1. 把OpenVRML.zip解压到{ARToolKit}。
  2. 把js32.dll从{ARToolKit}/OpenVRML/bin中拷贝到{ARToolKit}/bin。
  3. 在 VS配置管理器(configuration manager)中激活libARvrml和simpleVRML项目,然后编译。

运行例子和工具

当前的ARToolKit发布版本并没有要求把ARToolKit安装在特定的位置。在你编译自己的应用程序的时候,应该保证能找到ARToolKit。如果把ARToolKit编译为静态库,它将会被连接到所有你编译的程序中去。
为了使用ARToolKit,你需要有做一些“标志物”:例子程序使用的标志物放在patterns目录下。你可以用把它打印出来。这些标志对你以后的开发也是有用的。ARToolKit需要一个不易形变的标志物,所以简单的做法是把标志物粘在硬卡片上。 然后,使用/bin目录下的graphicsTest来测试ARToolKit的图形部分是否正常工作。如果工作正常的话,应该显示一个旋转的茶壶。
这里写图片描述
这个测试用来测试你的摄像头对ARToolKit的的图形模块的支持。图形模块使用了OpenGL。最小的允许幀率是15fps。低于这个数值会明显的限制ARToolKit渲染模块的正常工作(参考FAQ)。除此之外,还需要测试视频输入是否正常、视频是否能显示。在/bin目录下的videoTest可以完成上述测试。如果没有错误的话,应该出现一个视频窗口,显示出摄像头采集的内容。这个测试用来测试你的摄像头对ARToolKit视频模块和图形模块的支持。
这里写图片描述
如果没有显示,可能是你的摄像头没有正确配置导致其不能正常工作(参考FAQ)

介绍

当ARToolKit正常安装后,在/bin目录下有一个叫simpleTest(或simple,根据版本的不同名字有不同)的程序可以展示ARToolKit的功能。不过你还需要把hiroPatt.pdf中的标志物打印出来。为了获得更好的效果,推荐把它粘在一个平的硬卡片上。
运行ARToolKit
运行方法,目前只有两种:一种是直接单/双击;一种是在控制台里运行。后一种要更好,因为从命令行启动会给出ARToolKit的错误和标准输出流信息(对ARToolKit来说很有用)。每个平台都提供了一个对话框用来在运行主AR循环之前设置视频。
Windows
双击simple.exe,会打开一个控制台窗口,当摄像头被检测出来后,会显示如下所示的对话框。也可以从“开始->程序->附件->命令行窗口”(winxp中文版)里运行simple.exe。
这里写图片描述
在这个对话框中,你可以设置视频输出的尺寸和格式。需要注意的是,最好使用与ARToolKit定位相同的格式,这样会会一些(RGB)。某些摄像头还允许你改变帧率。默认情况下,该对话框的设置与你先前视频输入的设置相同。此设置可能会引起一些问题(参考FAQ)。
simpleTest的输出
如果成功了,会显示一个视频窗口(如果遇到什么问题,可以参考FAQ、mailing list)。当你把摄像头对准标志物的时候(内部印有“hiro”的黑框),在视频窗口里,会看到有一个蓝色的方块出现在标志物上。
下图是运行的截图。当移动标志物的时候,虚拟图像(蓝色方块)会随标志物一起移动。
这里写图片描述
为了让虚拟物体显示在标志物上,必须能在视频中看到完整的黑框和黑框中的图形。如果看不到虚拟物体,或者它时隐时现,可能是照明的问题。这个问题可以通过修改图像处理历程的阈值来解决。键入“t”,会提示你输入新的阈值。阈值的取值范围为0~255,默认值是100。键入“d”会显示在主窗口下显示阈值图像(如下图)。在阈值图像中,会用红框把可能的定位区域标出来。这样将便于你检查光照和阈值的设置是否合适。
这里写图片描述
键入“esc”退出程序并打印幀率信息。
simpleTest展示了ARToolKit如何实时计算摄像头的视点,并利用得到的信息准确的把虚拟图像叠加到现实图像当中。下面的章节将会详细讲解这是如何做到的。

0 0
原创粉丝点击