【问题标题】:Tensorflow Lite Android for Object Detection in Landscape Orientation用于横向对象检测的 TensorFlow Lite Android
【发布时间】:2019-11-12 21:50:04
【问题描述】:

我正在尝试在 Android 设备上运行 Tensorflow Lite 对象检测示例。但我需要重新配置此示例以适应横向屏幕方向。

我已将 AndroidManifest.xml 中的屏幕方向参数更改为“横向”,但屏幕预览保持纵向模式。平方对象检测功能正常,但似乎需要旋转相机视图。

请查看此屏幕截图https://ibb.co/Yftyk8P

    <activity
        android:name=".DetectorActivity"
        android:label="@string/activity_name_detection"
        android:screenOrientation="landscape">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

请帮我解决这个问题

【问题讨论】:

    标签: android object tensorflow detection tensorflow-lite


    【解决方案1】:

    我在我的智能玻璃上遇到了同样的问题,它总是横向屏幕方向。您不一定需要更改 AndroidManifest.xml。 我已更改以下内容以使其正常工作:

    1.将旋转角度更改为 0 CameraActivity.java:200

    替换onPreviewSizeChosen(new Size(previewSize.width, previewSize.height), 90);和 + onPreviewSizeChosen(new Size(previewSize.width, previewSize.height), 0);

    2。评论 camera.setDisplayOrientation(90); 来自 LegacyCameraConnectionFragment.java:88

    3.在 LegacyCameraConnectionFragment.java 第 97 行和第 99 行交换宽度和高度

    旧:

    camera.addCallbackBuffer(新字节[ImageUtils.getYUVByteSize(s.height, s.width)]); textureView.setAspectRatio(s.height, s.width);

    新:

    camera.addCallbackBuffer(新字节[ImageUtils.getYUVByteSize(s.width, s.height)]); textureView.setAspectRatio(s.width, s.height);

    就是这样。现在它可以在任何横向设备上运行。

    【讨论】:

      猜你喜欢
      • 2019-11-14
      • 2021-01-26
      • 2021-06-14
      • 1970-01-01
      • 2020-01-29
      • 1970-01-01
      • 2013-08-05
      • 2021-08-14
      • 2020-10-18
      相关资源
      最近更新 更多