ARToolKit硬件选型与配置

来源:互联网 发布:win7网络共享文件夹 编辑:程序博客网 时间:2024/04/29 06:14

      在增强现实领域中,有许多优秀的开发工具包,ARToolKit就是其中一款优秀的增强现实开发工具包,它提供C/C++语言编写的函数库供开发者作增强现实应用程序开发,同时它又提供各种丰富的示例程序及源代码让开发者可以了解ARToolKit 的特性和开发过程。

      我在前一段时间参与了一个基于ARToolKit的项目,发现国外有许多文档对ARToolKit进行了详细的介绍,但对其的中文介绍较少,不少都是直接翻译外国的文档。同时我在项目的开发过程中遇到了不少问题,而这些问题的解决方法很多都分布在论坛上,尚没有形成文档。因此我决定将我的一些开发过程记录下来,希望可以为其它开发者提供有用的信息。参考的网站包括:

      1.ARToolKit的官方网站:http://www.hitl.washington.edu/artoolkit/

      2.HIT实验室的论坛:http://www.hitlabnz.org/forum/forumdisplay.php?f=4(强烈推荐)

 

硬件选型 

      我在开发过程中遇到的第一个问题就是摄像头的选型。根据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文件,会发现文件中有这么一行

    <camera show_format_dialog="true" device_name="@device:pnp://?/pci#ven_1131&amp;dev_7130&amp;subsys_00001131&amp;rev_01#5&amp;1b69b2&amp;0&amp;6800f0#{65e8773d-8f56-11d0-a3b9-00a0c9223196}/global" >

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

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

    device_name=@device:pnp://?/pci#ven_109e&dev_036e&subsys_1200bd11&rev_11#4&1c660dd6&0&08f0#{65e8773d-8f56-11d0-a3b9-00a0c9223196}/global

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

    <camera show_format_dialog="true" device_name="@device:pnp://?/pci#ven_109e&amp;dev_036e&amp;subsys_1200bd11&amp;rev_11#4&amp;1c660dd6&amp;0&amp;08f0#{65e8773d-8f56-11d0-a3b9-00a0c9223196}/global" >

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

   

后记

    WDM_camera_flipV.xml文件中还可以对格式调整对话框、视频采集帧率和分辨率等参数进行设置,详细可参考ARToolKit官网上的文档说明。

    这是我第一篇Blog,原本想写一些心得体会之类的,后来还是写了这篇技术文档。ARToolKit是我在增强现实项目中使用的开发工具包,它的功能的确十分强大,我对ARToolKit也研究了一段时间,发现了不少问题,也解决了其中一些问题。我希望这篇Blog是一个好的开始,使我以后能继续坚持下去,将我在学习、项目中的体会记录下来,同时也希望能得到网上各位高手的指点。

 

                                                                                 aulzhb