【问题标题】:Is it possible to display a 3d object outside a Plane, and without a tap?是否可以在平面外显示 3d 对象且无需点击?
【发布时间】:2019-06-23 13:24:50
【问题描述】:

我正在开发一个能够识别文本的 Android 应用(使用 Google Vision 进行)。

我的目标是在 AR(我正在使用 ARcore)矩形与字符序列相对应时将识别的文本包装起来。 我面临的问题是我要识别的文本位于一小块金属上。 这使得无法在其上检测到平面 ---> 无法放置 3D 矩形。

我想知道是否可以使用从检测到的文本中获得的坐标(我得到 4 个角点或 getboundingbox()),是否可以在金属物品上创建自定义平面以显示我的矩形。

我已经尝试了不同的方法,但我做不到。

ArFragment fragment;

 Session session = fragment.getArSceneView().getSession();
                float[] pos = {0, 0, -1};
                float[] rotation = {0, 0, 0, 1};
                Anchor anchor = session.createAnchor(new Pose(pos, rotation));
                placeObject(fragment, anchor, Uri.parse("model.sfb"));


private void placeObject(ArFragment arFragment, Anchor anchor, Uri uri) {
        ModelRenderable.builder()
                .setSource(arFragment.getContext(), uri)
                .build()
                .thenAccept(modelRenderable -> addNodeToScene(arFragment, anchor, modelRenderable))
                .exceptionally(throwable -> {
                            Toast.makeText(arFragment.getContext(), "Error:" + throwable.getMessage(), Toast.LENGTH_LONG).show();
                            return null;
                        }
                );
    }


private void addNodeToScene(ArFragment arFragment, Anchor anchor, ModelRenderable renderable) {
        AnchorNode anchorNode = new AnchorNode(anchor);
        TransformableNode node = new TransformableNode(arFragment.getTransformationSystem());
        node.setRenderable(renderable);
        node.setParent(anchorNode);
        arFragment.getArSceneView().getScene().addChild(anchorNode);
        node.select();
    }

【问题讨论】:

    标签: android ocr arcore plane 3d-model


    【解决方案1】:

    我相信 ARCore 会让您访问它跟踪的特征点(例如,如果使用 Unreal,请参阅 https://developers.google.com/ar/reference/unreal/arcore/blueprint/Get_All_Trackable_Points)。您可以在从检测到的文本中获得的坐标定义的图像区域内搜索 ARCore 跟踪的特征点。我相信你可以得到跟踪点的位姿,但我不确定如果没有足够的特征点来推断平面的存在,位姿的方向片是否会有很高的置信度。

    【讨论】:

    • 感谢您的回答。我试着回答你的问题,但我无法获得一个有效的姿势来帮助我展示我的 3d 模型。
    • 最后,我放弃了 ARCore 的方式,做了一个简单的 Rectangle 包裹文本,并在上面显示检测到的文本。
    猜你喜欢
    • 1970-01-01
    • 2021-03-10
    • 1970-01-01
    • 2013-12-22
    • 1970-01-01
    • 2019-02-07
    • 2012-10-20
    • 2012-10-04
    • 2015-05-26
    相关资源
    最近更新 更多