返回列表 回复 发帖

[教程] 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项目,然后编译。

 

 

原文链接

附件: 您所在的用户组无法下载或查看附件

在Linux / SGI Irix中安装

在Linux / SGI Irix中安装

安装前的准备:

需满足的软件包 安装指导
OpenGL and GLUT

确定OpenGL和GLUT运行期包都安装好了。一般来说,是在/usr/X11R6/lib,/usr/lib或 /usr/local/lib内查找是否存在opengl.so,glu.so和glut.so。

确定OpenGL和GLUT SDKs都被安装好了。一般来说,是在/usr/X11R6/include,/usr/include或/usr/local/include内查找是否存在opengl.h,glu.h,和glut.h。

Video Library 确定视频库已经安装好了:

在Linux下,确保V4L RunTime 和 SDK 都安装好,或者确保 dv1394,dv1394 RunTime 和 SDK都安装好了。

在SGI下,只在SGI O2 models下测试过ARToolKit,不过按理来说,对于采用类似的视频输入设备的其他SGI机型,也应该能正常工作。

(可选项,用于VRML渲染) OpenVRML-0.14.3

可以在ARToolKit downloads page on sourceforge下载OpenVRML的源代码包。

编译ARToolKit:

1。打开控制台,准备开始编译ARToolKit。

2。输入

tar zxvf ARToolKit-2.71.tgz

把ARToolKit-2.71.tgz解压到任意目录。为叙述方便起见,后面称该目录为{ARToolKit}。

3。配置并编译。

输入以下命令进行配置:

cd {ARToolKit}

./Configure

在Linux下编译时,支持多种视频输入:Video4Linux,IIDC- compliant或者DV camera connected via IEEE-1394, 或者Sony EyeToy camera connected via USB。具体选择什么,配置的时候会提示你进行选择。

 

配置成功后,输入以下命令开始编译:

make

如果编译成功的话,输入以下命令来运行一个简单的测试程序:

cd {ARToolKit}/bin

./simpleTest

VRML渲染库和例子(libARvrml & simpleVRML)根据具体需要,选择性的编译:

cd {ARToolKit}/lib/SRC/ARvrml

make

cd {ARToolKit}/examples/simpleVRML

make

cd {ARToolKit}/bin

./simpleVRML

在MAC OS X中安装:

安装前的准备:

 

需满足的软件包 安装指导
Apple Developer Tools

XCode Tools安装盘已经包含在Mac OS X的安装盘中,也可以从下面连接中下在安装镜像:

http://developer.apple.com/tools/xcode/

Camera driver

Mac OS X 10.3或更新的版本中已经包含IIDC和DV FireWire摄像头驱动。USB摄像头驱动(或者10.3之前版本的Firewire摄像头驱动)可以在下面的连接下在:

http://www.ioxperts.com/

(可选项,用于VRML渲染)Apple X11 and Fink

从MAC OS X的CD3中安装X11或者在下面连接里下载安装镜像:

http://www.apple.com/downloads/macosx/apple/x11formacosx.html.

在下面的连接里下载Fink (and optionally, FinkCommander)

http://fink.sourceforge.net/download/.

 

 

原文链接

附件: 您所在的用户组无法下载或查看附件

在MAC OS X中安装

在MAC OS X中安装:

安装前的准备:

 

需满足的软件包 安装指导
Apple Developer Tools

XCode Tools安装盘已经包含在Mac OS X的安装盘中,也可以从下面连接中下在安装镜像:

http://developer.apple.com/tools/xcode/

Camera driver

Mac OS X 10.3或更新的版本中已经包含IIDC和DV FireWire摄像头驱动。USB摄像头驱动(或者10.3之前版本的Firewire摄像头驱动)可以在下面的连接下在:

http://www.ioxperts.com/

(可选项,用于VRML渲染)Apple X11 and Fink

从MAC OS X的CD3中安装X11或者在下面连接里下载安装镜像:

http://www.apple.com/downloads/macosx/apple/x11formacosx.html.

在下面的连接里下载Fink (and optionally, FinkCommander)

http://fink.sourceforge.net/download/.

在XCode IDE中编译(略,因为没用过):

  1. Unpack the archive to a convenient location using StuffIt Expander, and open the ARToolKit.xcodeproj.
  2. Builds include a script target "Configure" which enables accelerated and rectangular texturing by default. If you wish to change these defaults, manually run the ./Configure script from Terminal as for a command-line build (below).
  3. Executables are built as bundled applications into ARToolKit/bin, with the Data/ directory copied into the application bundle so that they may be moved from this location to other locations.

The VRML renderering library and example (libARvrml & simpleVRML) are optional builds:

  1. Using FinkCommander, do a binary install of mozilla-dev, followed by an install of openvrml4-dev and openvrml-gl5-dev.
  2. Select the ARToolKit extensions target, and build.

Alternately, ARToolKit can be built from the Terminal, using the Unix makefiles.

Drop the ARToolKit into a convenient location, e.g. your Desktop, then open a Terminal window and type:

cd ~/Desktop

tar zxvf ARToolKit-2.71.tgz

Configure and build

cd ~/ARToolKit

./Configure

make

Following a successful build, to run a binary such as simpleTest, add these commands:

cd bin

./simpleTest

The VRML renderering library and example (libARvrml & simpleVRML) are optional builds:

fink -b install mozilla-dev

fink install openvrml4-dev openvrml-gl5-dev

cd ~/Desktop/ARToolKit/lib/SRC/ARvrml

make

cd ~/Desktop/ARToolKit/examples/simpleVRML

make

cd ~/Desktop/ARToolKit/bin

./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”退出程序并打印幀率信息。
 
附件: 您所在的用户组无法下载或查看附件
呵呵,自己的帖子自己顶,谢谢转载
好 lz辛苦了
是不是必须会 c++啊?
好复杂啊~有人出来详解一下么
作为一名beginner,我非常感谢lz。
感謝大大的分享教學,小弟在此問一下:
我有使用AR運行過了,但是卻想要用vs2008來更改一些內部語法
有沒有什麼方式可以載入?
它这里要求用的是2003,怎么用啊
好  辛苦了
谢谢楼主 好资料:victory:
继续学习
返回列表