我正在尝试在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>
请帮助我解决此问题
答案 0 :(得分: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。在97和99行的LegacyCameraConnectionFragment.java中交换宽度和高度
OLD:
camera.addCallbackBuffer(new byte [ImageUtils.getYUVByteSize(s.height,s.width)]);; textureView.setAspectRatio(s.height,s.width);
新:
camera.addCallbackBuffer(new byte [ImageUtils.getYUVByteSize(s.width,s.height)]);; textureView.setAspectRatio(s.width,s.height);
就是这样。现在它可以在任何景观设备上使用。