ARToolKit入门教程——安装调试第一个程序

来源:互联网 发布:mac更新flash 编辑:程序博客网 时间:2024/06/02 03:33

博主的开发环境是Win7和VC++6.0,亲测可用!


参考文献:

1.半藏的博客:ARToolKit的安装配置及例子演示(WindowsXP,VC++6.0开发环境)

http://hi.baidu.com/bycang/blog/item/5f0530c566a42ca08326ac6e.html

2.aulzhb的专栏的博客:ARToolKit硬件选型与配置

http://blog.csdn.net/aulzhb/article/details/4194205


更改by Sail2011  微博:http://weibo.com/sail2011


1.ARToolKit下载和安装。

    下载地址:http://www.hitl.washington.edu/artoolkit/download/

下载以下的2个文件。
ARToolkit-2.71.2.tgz (988KB) 
OpenVRML-0.14.3-win32.zip (10.8MB)

将上面2个文件解压缩到任意位置后得到2个文件夹,将OpenVRML文件夹剪切至ARToolKit文件夹中。

   然后将以下的DLL文件复制进 [ARToolkit/bin/]路径下面去.
   ARToolKit/OpenVRML/bin/js32.dll 
   请双击鼠标左键执行【ARToolKit/Configure.win32.bat】文件。


2.下载安装glut运行包

    下载地址:http://www.xmission.com/~nate/glut.html

   首先,请将下载到的glut-3.7.6-bin.zip解压缩。 
   将glut32.dll、glut.dll放进 [windows/system32]里面去。 
   把glut.h放进你自己的开发环境里的[include/GL]文件夹里面去。C:/Program Files/Microsoft Visual Studio/VC98/ Include/GL。
   把glut32.lib、glut.lib放进你自己的开发环境的[Lib]文件夹里面去。 C:/Program Files/Microsoft Visual Studio/VC98/Lib。


3.复制 msvcp71d.dllmsvcr71d.dll到文件夹ARToolKit\bin; (这两样可能需要自己下载,我是在pchome下载的http://download.pchome.net/dll/m/detail-171895.htmlhttp://download.pchome.net/dll/m/detail-171898.html )


4.设置VisualC++

首先增加“包含文件”( Include file )与静态程序库(Library)的路径,点选[ 工具]-->[选项],然后在对话框里双击[ 目录 ]子菜单。

首先在“目录[S]:”下面的候选菜单栏里处于[ Include files]的状态下,将包含文件路径加进去(如图1):


                                                             图1.包含文件路径

接下来 在“目录[S]:”下面的候选菜单栏里翻出“Library file”,用与上面同样的方法将下面表示的路径追加进去。如图2:


                                                                       图2.链接库路径

   最后把静态程序库(Library)和样本程序编译一下生成出来。 
   用VisualC++打开 [ ARToolKit/ARToolKit.dsw ] 。 
   VisualC++的上部菜单里点击[组建]-->[批组建],在跳出来的窗口里点击【创建】按钮。


5.检查是否正常工作

      使用/bin目录下的graphicsTest来测试ARToolKit的图形部分是否正常工作。如果工作正常的话,应该显示一个旋转的茶壶。


      在/bin目录下的videoTest可以完成上述测试。如果没有错误的话,应该出现一个视频窗口,显示出摄像头采集的内容。这个测试用来测试你的摄像头对ARToolKit视频模块和图形模块的支持。如下图

(如果没有摄像头可以下载一个虚拟摄像头做简单的实验,推荐小懒猫特效视频模拟虚拟摄像头,如果打开videoTest.exe一闪即逝说明摄像头设置不对)


6.一个简单例子

当ARToolKit正常安装后,在/bin目录下有一个叫simpleLite.exe的程序可以展示ARToolKit的功能。不过你还需要把hiroPatt.pdf中的标志物打印出来。为了获得更好的效果,推荐把它粘在一个平的硬卡片上。双击打开simpleLite.exe。摄像头屏幕上的标志物上面出现OpenGL绘制出的虚拟物体。如图:                                       


7.以上步骤可能出现的问题和解决方法(sail2011)

在win7系统下,我的电脑是自带摄像头,如果直接点击simpleLite.exe会自动退出,经过多方调试要进行以下修改。

硬件选型

      我在开发过程中遇到的第一个问题就是摄像头的选型。根据ARToolKit官网上的描述,摄像头或视频采集设备需要支持VFW或WDM驱动。检查的方法是运行amcap.exe,看devices中是否可以有该设备,同时是否可以通过此设备采集视频。

      硬件选型解决方法:选择支持VFW或WDM驱动的设备,运行amcap.exe检查该设备是否支持这两种驱动。

硬件配置

      支持VFW或WDM驱动的设备就可以作为ARToolIKit的采集设备,ARToolKit的示例程序可以默认打开这些设备进行视频采集

      若要开发自己的增强现实应用程序,需要对ARToolKit的视频采集做一定的配置。本文介绍Windows下的ARToolKit硬件配置。在ARToolKit 的示例程序中可以发现,程序一般都定义了如下的字符串:

      char   *vconf = "Data\\WDM_camera_flipV.xml";

      这个是程序打开视频设备时的设备配置文件。WDM_camera_flipV.xml文件中定义了视频采集设备的设备号和一些参数设置等。要采用指定的设备进行采集,需要自己在WDM_camera_flipV.xml中设置设备号。

    以记事本方式打开WDM_camera_flipV.xml文件,会发现文件中有这么一行

    

    这一行定义的正是视频采集设备的设备号,只要将这一行的设备号设置为自己需要的视频采集设备,就可以在程序运行时打开对应的摄像头。

    查找视频设备号可以通过软件GraphEdit实现,我以Pinnacle视频采集卡为例进行说明。下载GraphEdit并运行,Graph->Insert Filters,选择Video Capture Sources,会发现存在下面的说明。

    这就是Pinnacle视频采集卡的设备号,它与WDM_camera_flipV.xml中的device_name设备说明类似,不同的仅是"&"被替换为"&"。只要将WDM_camera_flipV.xml中的device_name设置为这个设备号,就可以在ARToolKit中对Pinnalce视频采集卡进行视频采集。WDM_camera_flipV.xml设置如下,注意要将所有的"&"替换为"&":

    

    配置完毕后,ARToolKit就可以通过指定的视频采集设备进行视频采集。使用这种配置方法,ARToolKit可以使用支持VFW或WDM驱动的视频采集卡、USB摄像头或1394摄像头进行视频采集。



另外还可能出现 “Camera parameter load error !!”的错误:

在ARToolKit中出现“Camera parameter load error !!”。

通过网上搜索,有人用下面的解决方法:

       出现 “Camera parameter load error !!”这种错误则要把bin目录下的Data拷贝到所在活动工程文件之下,比如simpleTest中,这样程序即可运行了。



更改by Sail2011  微博:http://weibo.com/sail2011