#if WINDOWS_UWP
async QRCodeWatcher.RequestAccessAsync();
#endif
访问状态应为 (status == QRCodeWatcherAccessStatus::Allowed)
。
如果访问被拒绝,启动 QRTracking
时,该功能将返回访问被拒绝。
应在构造 QRCodeWatcher
对象之前调用此 API。
如果是从 Unity 运行项目,还需要确保从 UI 线程调用。 否则,API 将始终返回访问被拒绝。 有关详细信息,请参阅 Unity 手册中的 AppCallbacks 类。
有关设置 Unity 项目的详细信息,请参阅为 Windows Mixed Reality 配置 Unity。
如何实现使 QR 码跟踪功能在HoloLens 2设备上正常工作?
QR 跟踪在 HoloLens 2 上自动启用,你需要在应用中添加网络摄像头功能。
在哪里能找到 API 插件文件?
可在此处找到所有必需的文件和文档。
https://www.nuget.org/packages/Microsoft.MixedReality.QR
如何准备 UWP 以使用 Microsoft.MixedReality.QR.QRCodeWatcher?
使用 NuGet pack 将所需文件解压缩。
在项目中添加对 Microsoft.MixedReality.QR.winmd
的引用,并开始使用 API。
添加正确的插件体系结构版本,并在内部版本中相应地使用这些版本。
如何通过 MixedReality QRCodeWatcher 准备 Unity?
将 NuGet for Unity,并指向上述 NuGet pack。
如何制作 QR 码?
查看任何 QR 码生成器 -- 下面是一个示例。
如果 QR 码跟踪通常不起作用,我该怎么办?
QR 码版本是否是受支持的版本? 我们不支持高密度版本,如版本 40。 高于版本 10 的版本不能保证受支持;高于 20 的版本不受支持。
离 QR 码是否足够近? 请参阅与 QR 码的距离和角度位置。
照明情况如何? 存在一个已知问题,即当 QR 码位于深色环境背景上时,检测变得困难--由于高对比度,QR 码在相机上显示为被冲走。 有关详细信息,请参阅照明和背景。
准确性如何?
在单帧中检测时,预计大小与实际大小最多有 1% 的误差。 例如,10 厘米的代码在测量大小上可能高达 +/- 1 毫米。 在连续检测下,码的位置可能会漂移最多 +/- 2.5 毫米。 一旦移出检测范围,之前的检测位置将取决于映射误差。
我需要离 QR 码多近才能检测到它?
显然,距离取决于 QR 码的大小,以及它的版本。 有关详细信息,请参阅与 QR 码的距离和角度位置。
HoloLens 2,对于版本 1 QR 码的两侧从 5 厘米到 25 厘米不等,最小检测距离范围为 0.25 米到 0.5 米。 可以检测到的距离从最小代码的大约 0.5 米到 2 米(对于较大代码)。
在 Windows Mixed Reality 中,这些大小的距离将减半。
对于任何较大的代码,外推- 大小检测距离呈线性增加。 对于任何较小的代码,检测根本不会发生--4-5 厘米是我们可以检测到的最小代码。
为什么我无法读取带有徽标的 QR 码?
目前不支持带有徽标的 QR 码。
检测到 QR 码,为什么我没有收到任何数据?
如果平台无法解码 QR 码,将不会向你提供数据。 你可以使用流,并使用开源代码解释数据。
某些功能(如结构追加)不受支持。
有关详细信息,请参阅支持哪些 QR 码版本?
QR 码是保存在“空间”级别还是应用级别?
在驱动程序会话或 HoloLens 上的启动会话中,QR 码在系统级别保存。 有关详细信息,请参阅管理 QR 码数据。
检测到的 QR 码由驱动程序保存在内存中。
收到“Microsoft.MixedReality.QR.pdb
”错误消息时,如何在 Visual Studio 中调试应用?
已跳过 Microsoft.MixedReality.QR.dll
的符号加载,因为未在包含的模块列表中指定它。
按照以下步骤重现此行为:
安装 Microsoft.MixedReality.QR (NuGet) 和 MRTK
应能用 Microsoft.MixedReality.QR.dll 调试应用,但找不到此 DLL:
建议的解决方案
我们正努力将符号添加到下一个版本。 同时,应该仍可以通过在 Visual Studio 选项中排除 DLL 来调试应用:
有关详细信息,请参阅配置 Visual Studio 的设置。
会话中可扫描的 QR 码数量是否有限制?
在驱动程序的系统级别,在 10 分钟内保存的 QR 码限制为 100 个。
QR 码平滑处理过程是否有更改?
QR 码平滑处理过程在 20H2 后发生了变化,从姿势平滑到大小平滑。 若要还原上一个平滑过程的行为,如果检测到新的 QR 码姿势数据在距先前检测到的帧的 5 秒或 10 厘米内,将应用平滑算法。 转换数据通过当前帧的 90% 和上一帧的 10% 的加权比率进行混合。
使用本机 C++ 和 C# 示例跟踪 QR 码
Unity 中的 QR 码跟踪
Azure 空间定位点
HoloLens 2 可定位相机概述