FLARManager XML参数详解

 

FLARManager是一套用于开发Flash Augmented Reality应用的框架。支持主流的AR引擎和3D引擎。FLARManager为开发者提供了图像预处理、强大的事件机制、多marker检测等功能。最方便的是大部分参数都可以通过XML来配置,这就大大方便了开发者。今天我们就从FLARManager的配置文件来学习他的强大功能。

一个完整的FLARManager配置文件(v1.0.4)包含三个部分:flarSourceSettings(配置输入源参数),flarManagerSettings(配置FLARManager自身的参数),trackerSettings(配置具体的AR引擎的参数):

<flarSourceSettings>

sourceWidth="640"
sourceHeight="480"
displayWidth="640"
displayHeight="480"

这几个参数表示输入源的大小和显示大小。要注意的显示大小可以是任意值和任意比例,FLARManager内部会处理输入源的裁切或者缩放。显示大小对性能没什么影响,但是输入源就不同了。一般的摄像头分辨率支持到640x480,但是我们可以用320x240的分辨率来用于计算,这样可以提高一些性能,但是相应的检测精度也会降低。
由于trackerToSourceRatio参数的存在(下面会介绍),我们一般不用改动这几个默认值。

framerate="30"

帧率

loaderPath=""
useProxy="false"

FLARManager的flarSource默认为FLARCameraSource,也就是最常用的摄像头。此外还可以是FLARLoaderSource或FLARProxy。这个loaderPath参数就是用于指定外部加载的文件,比如我们可以去加载一个swf动画。FLARProxy是用鼠标键盘来模拟marker的测试用源,可以设置useProxy=true来启用这个功能。

activityThreshold="16"

当Camera的MotionLevel到达一定阙值的时候再更新检测源,提高这个数值可以有效减少抖动的产生。

trackerToSourceRatio="0.5"

用于检测的图像相对于输入源的比例。0.5表示将输入源缩小一半以后再用于计算。这个数值越小,计算速度越快。

<flarManagerSettings>

mirrorDisplay="true"

是否水平反转图像,像照镜子那样的图像更符合我们的习惯。

inverted="false"

我们知道默认的marker都是黑色边框的。如果设置inverted=true来反相输入源,就可以实现白边框marker的检测。FLARManager内部会自动加载Pixel Blender滤镜invert.pbj用于图像处理。

markerUpdateThreshold="80"

当检测到两个拥有相同pattern的marker时,比较两者的空间距离,如果小于这个阙值,表示是一次更新,而不是一个新的marker。设置为较大的数值适用于快速运动或者仅允许一个marker出现的情况。根据项目的实际需要调整这个值很重要。

markerRemovalDelay="1"

触发marker的移除事件的延迟时间,单位是帧。如果帧率是30fps的话60就是2秒。

sampleBlurring="1"

输入源的模糊数值。模糊可以消除一些杂讯,从而提高检测的速度,但同样可能降低精度。

markerExtrapolation="true"

是否根据marker的速度来估算marker的位置,在一些快速运动的情况下可以更好的跟踪marker的位置。

smoother="FLARMatrixSmoother_Average"
smoothing="3"

指定用于平滑AR的计算结果的处理器(IFLARMatrixSmoother)和参数。默认的平滑处理器采用计算平均值的方法,而smoothing则表示存储多少帧的数据用于平滑计算。

thresholdAdapter="DrunkHistogramThresholdAdapter"

指定预先处理输入源的处理器(IThresholdAdapter),用于计算合适的阙值。经过处理器处理后的图像再传给AR引擎进行计算。默认的处理器是DrunkHistogramThresholdAdapter。也可以在程序中指定flarManager.thresholdAdapther=null来略过此步处理。如果用xml配置的方式指定了非默认的处理器,要记得把类编译进最终文件。

<trackerSettings>

不同的AR引擎所用的参数不尽相同,这里我们以常用的FLARToolkit为例。

<flarToolkitSettings>

这个节点用于FLARToolkit的配置。

cameraParamsFile=""

相机参数文件的路径。

labelAreaMin="70"
labelAreaMax="100000"

经过阙值处理后画面中的黑色区域会用于下一步匹配的计算,这两个值就是指定参与计算的黑色区域的最小和最大的面积。提高这个值可以加快检测速度,但是会降低精度。

thresholdSourceDisplay="false"

查看阙值处理后的图像,一般用于调试阶段帮助开发人员确认处理过程的效果。

<patterns>

这个节点用于特征图形的配置。

resolution="16"

特征图形的分辨率,与marker制作的时候相匹配。

patternToBorderRatioX="50"
patternToBorderRatioY="50"

marker的特征图形到边框的比例,这两个值要与marker制作的时候相匹配。

minConfidence="0.5"

最小相似度,值越大匹配越严格。在识别度不高的情况下可以适当减小这个值。

<pattern>
size="80"

marker的大小,改变这个值来改变现实世界和虚拟世界之间的比例关系。

path=""

特征图形的加载路径

以上就是XML配置里面的主要参数介绍,英文原版在此。基本上这些参数都是FLARManager框架里面具体对象实例的属性,都可以在程序中指定。另外有些属性在实际开发中也很有用:比如flarManager.numLoadedPatterns(表示系统加载的特征图形数量),flarManager.activeMarkers(处于活动状态的marker数组)等等。请查看文档获取详细信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值