将外部摄像头与Vuforia引擎配合使用

在UWP Windows和iPadOS设备上使用带有Vuforia Engine的外部连接摄像头。

UWP设备

Vuforia引擎支持连接到UWP设备的MediaFramework兼容摄像头。为Vuforia Engine提供摄像机固有参数,以适应各种可用镜头。使用JSON文件为外部相机指定相机参数。

外置摄像头必须通过USB连接并与兼容媒体基金会.

注:这种使用相机内部函数的方式不支持设备的内置后摄像头或前摄像头。

有关使用带有DirectShow或供应商特定API的自定义摄像头对Vuforia UWP应用程序的更多支持,请参阅Vuforia相机桥.

iOS设备

Vuforia Engine支持连接到运行iOS 17或更新版本的iOS设备的外部摄像头。在JSON文件中为Vuforia引擎提供摄像机内置参数,以适应各种可用镜头。

要使Vuforia引擎识别外部摄像头,请在Vuforia引擎配置中禁用。

以下代码段禁用平台融合提供商以及ARKit。

auto-fusionConfig=vuFusionProviderConfigDefault();fusionConfig.usePlatformFusionProvider=VU_FALSE;VuEngineConfigSet*configSet;vuEngineConfigSetAddFusionProviderConfig(configSet,&fusionConfig);

Vuforia Engine将外部连接的摄像头优先于内置摄像头。

摄像头JSON配置

Vuforia引擎通过对该顺序进行优先级排序来选择相机。Vuforia引擎确定在连接外部摄像头时应应用哪些摄像头参数,但可以通过从JSON文件侧面加载摄像头内部函数来覆盖这些参数。

通过创建一个名为vuforia-camera.json大学以及单个对象中的以下元素。

帧速率

相机帧速率。

分辨率

相机图像分辨率。

焦距长度

x和y方向的焦距。

principalPoint公司

主要观点。

扭曲

(可选)

摄像机畸变参数。最多包含8个值的浮点数组。值的数量决定了畸变模型:

  • 0个值(空数组):如果没有给出值,则采用线性模型。无变形。
  • 1个值:具有一个参数的ARCTAN模型。
  • 2个值:2个径向参数,无切向参数。
  • 3个值:3个径向参数,无切向参数。
  • 4个值:2个径向参数加上2个切向参数。
  • 5个值:3个径向参数加上2个切向参数。
  • 6个值:6个径向参数(有理),无切向参数。
  • 8个值:6个径向参数(有理),加上2个切向参数。

这些值的顺序如下(r=径向,t=切向):
[r0、r1、t0、t1、r2、r3、r4、r5]。

在的根中添加数组vuforia-camera.json格式:

[{“帧速率”:30,“分辨率”:{“宽度”:1920,“高度”:1080},“焦距”:{“x”:1024,“y”:1024},“原则点”:{“x”:960,“y”:540},“失真”:[0.0,0.0,0.0}]

对于UWP设备,将vuforia-camera.json放在目录中C: \Users\USER\AppData\Local\Packages\<APPLICATION>\LocalState\vuforia-camera.json.

对于iOS设备,请放置vuforia-camera.json大学在里面<APPLICATION>/Documents/vuforia-camera.json.

如果外部相机不支持vuforia-camera.json大学文件。

在设备连接并识别外部摄像头的情况下启动Vuforia Engine时vuforia-camera.json大学自动加载相机内部函数。

请参见UWP故障排除如果你的内置相机是优先的。