2

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

故障示例页面链接: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

图像文件的路径是,

广模式(工作)

小猫图案(不工作)

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

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>
4

1 回答 1

2

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

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

包含图像的 PATT 文件

模式训练器只是创建一个只有 0 和 255 的文件,它是作为相机识别用户的指南的文件。

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

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

在此处输入图像描述

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

于 2017-11-16T06:41:46.810 回答