[AR] ARToolKit 非官方安装指南(转载)

安装并配置ARToolKit

  • 安装介绍
  • 编译toolkit
    • Windows
    • Linux/SGI Irix
    • Mac OS X
  • 运行例子和工具

安装介绍

ARToolKit的核心部分是一组可供应用程序调用的函数库。出于这个理 由,ARToolKit以源代码的方式发布。所以,你需要对它进行编译使之工作于你的平台。因此,你需要一个开发环境。开源开发环境(如GCC)可工作于 任何平台,你可以选择使用它来进行编译。当然,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
  • simpleTest的输出

介绍
当ARToolKit正常安装后,在/bin目录下有一个叫simpleTest(或simple,根据版本的不同名字有不同)的 程序可以展示ARToolKit的功能。不过你还需要把hiroPatt.pdf中的标志物打印出来。为了获得更好的效果,推荐把它粘在一个平的硬卡片 上。

在任何情况下,这个程序的输出都是一样的。所以本章的最后一个部分给出了程序在不同平台上的输出。

运行ARToolKit

运行方法,目前只有两种:一种是直接单/双击;一种是在控制台里运行。后一种要更好,因为从命令行启动会给出ARToolKit的错误和标准输出流信息(对ARToolKit来说很有用)。每个平台都提供了一个对话框用来在运行主AR循环之前设置视频。

Windows
双击simple.exe,会打开一个控制台窗口,当摄像头被检测出来后,会显示如下所示的对话框。也可以从“开始->程序->附件->命令行窗口”(winxp中文版)里运行simple.exe。

 

 

在这个对话框中,你可以设置视频输出的尺寸和格式。需要注意的是,最好使用与ARToolKit定位相同的格式,这样会会一些(RGB)。某些摄像头还允许你改变帧率。默认情况下,该对话框的设置与你先前视频输入的设置相同。此设置可能会引起一些问题(参考FAQ)。
Linux

如果你安装了gnome或KDE桌面环境,也可以直接双击运行simpleTest(不过这样运行看不到错误和输出流信息)。也可以在终端中运行它。如果你安装的是V4L,会显示如下的对话框。

在这个对话框中,你可以设置视频输出的尺寸和格式。需要注意的是,最好使用与ARToolKit定位相同的格式,这样会会一些(RGB)。某些摄像头还允许你改变帧率。默认情况下,该对话框的设置与你先前视频输入的设置相同。此设置可能会引起一些问题(参考FAQ).

MacOS

On MacOS X double click on the simple icon in the bin directory from your mac explorer. A console window will open and when the camera is detected the follow dialog will open. Otherwise start the Terminal program, go the bin directory and run simple.

The default Mac video dialog is really advanced so you can change a lot of elements, like video input, format or setup the video parameters (saturation, brightness). Furthermore, a preview window is displayed that help for the configuration. You need to notice that better the format is similar to ARToolKit tracking format, faster is the acquisition (RGB more efficient).
SGI

On SGI you need to use a terminal, go to the bin directory, and run simple.

simpleTest的输出

如果成功了,会显示一个视频窗口(如果遇到什么问题,可以参考FAQmailing list)。当你把摄像头对准标志物的时候(内部印有“hiro”的黑框),在视频窗口里,会看到有一个蓝色的方块出现在标志物上。 下图是运行的截图。当移动标志物的时候,虚拟图像(蓝色方块)会随标志物一起移动。

为了让虚拟物体显示在标志物上,必须能在视频中看到完整的黑框 和黑框中的图形。如果看不到虚拟物体,或者它时隐时现,可能是照明的问题。这个问题可以通过修改图像处理历程的阈值来解决。键入“t”,会提示你输入新的 阈值。阈值的取值范围为0~255,默认值是100。键入“d”会显示在主窗口下显示阈值图像(如下图)。在阈值图像中,会用红框把可能的定位区域标出 来。这样将便于你检查光照和阈值的设置是否合适。
键入“esc”退出程序并打印幀率信息。

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏