【问题标题】:A-Frame AR.js marker pattern not workingA-Frame AR.js 标记模式不起作用
【发布时间】:2018-04-10 13:31:15
【问题描述】:

我正在使用 A-Frame 和 AR.js 示例来创建自定义标记。

Glitch 示例页面链接:https://opposite-bike.glitch.me/testMarker.html

Glitch 项目链接:https://glitch.com/edit/#!/opposite-bike

我添加了两个带有 .patt 文件的标记,一个是在 AR.js 网站上可用的 hiro,另一个是使用 https://jeromeetienne.github.io/AR.js/three.js/examples/marker-training/examples/generator.html 创建的自定义标记

图像文件的路径是,

Hiro pattern(工作中)

Kitten pattern(不工作)

两种模式的.patt 文件都存储在markers 文件夹中以供访问。

Hiro 模式工作正常,但自定义模式却不行。

任何人都可以帮忙,找出缺少的东西吗?

这里是代码

HTML

<html>
  <head>
    <title>Multiple Markers - A-Frame School</title>
    <meta name="description" content="Multiple Markers - A-Frame School">
    <script src="https://aframe.io/releases/0.7.0/aframe.min.js"></script>
    <!-- include ar.js for A-Frame -->
<script src="https://jeromeetienne.github.io/AR.js/aframe/build/aframe-ar.js"></script>

  </head>
<body style="margin : 0px; overflow: hidden;">
  <a-scene embedded arjs="sourceType: webcam;">
    <!-- handle marker with your own pattern -->
    <a-marker type="pattern" patternurl="markers/hiro-m.patt">
      <a-sphere position="0 0.5 0" radius="0.25" rotation="0 10 0" color="#EF2D5E"></a-sphere>
    </a-marker>
    <a-marker type="pattern" patternurl="kmarkers/kitten.patt">
      <a-sphere position="0 0.5 0" radius="0.25" rotation="0 10 0" color="#ffccff"></a-sphere>
    </a-marker>
    <!-- handle marker with hiro preset -->
    <a-marker preset="hiro">
      <a-box position="0 0.5 0" material="color: green;"></a-box>
    </a-marker>
    <!-- handle barcode marker -->
    <a-marker type="barcode" value="5">
      <a-box position="0 0.5 0" material="color: blue;"></a-box>
    </a-marker>
    <!-- add a simple camera -->
    <a-entity camera></a-entity>
  </a-scene>
</body>
</html>

【问题讨论】:

    标签: javascript augmented-reality aframe ar.js


    【解决方案1】:

    是不是因为小猫的形象很复杂

    如果您在训练标记后会看到并打开由 AR.js 提供的 PATT 文件的内部,则可以看到如下所示。

    pattern trainer 只是创建了一个只有 0 和 255 的文件,它是作为相机识别用户的指南。

    在您的情况下,训练师将无法识别猫的图像,因为它具有非常复杂的侧面和边缘。

    在我的例子中,我试图训练一个标记(这是菲律宾空军的圆形),标记训练器只是在 PATT 文件中生成了一堆 0,因为对于 AR.js,我这里的图像非常复杂。

    在您的情况下,培训师可能还生成了一个包含一堆 0 的 PATT 文件。

    【讨论】:

    • @pravid,我现在实际上正在处理类似的问题(除了我的 PATT 文件没问题)。在我在 Google 和 AR.js 的 Github 存储库中搜索时,我看到了这个。可能我的回答错了,如果真的错了,请参考这个问题github.com/jeromeetienne/AR.js/issues/164
    • 抱歉@pravid 回复晚了,如果您使用的是 Linux 或 Mac(或者如果您的 Windows 支持“make”),请从 Github 下载/克隆整个 AR.js,然后转到“ aframe”子目录。
    • 进入“aframe”文件夹/目录后,在终端/shell/命令提示符和新版本的“aframe-ar.js”中运行“make build”和“make minify”并且“aframe-ar.min.js”将在构建文件夹中生成。
    • 请注意,您需要先安装 uglifyjs,然后才能运行“make minify”命令。详情请查看 MakeFile 文件
    • 如果您使用的是 Windows:stackoverflow.com/questions/2532234/…
    猜你喜欢
    • 2019-01-21
    • 1970-01-01
    • 2021-08-29
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 2020-02-25
    • 1970-01-01
    相关资源
    最近更新 更多