相机预览倒置的字节数组

20
我有一个相机应用程序,它被锁定为横向模式。需要时,我会旋转从 onPreviewFrame()获取的原始字节,并使用它们来编码视频。
然而,在Nexus 5X和6设备中,这种方法失败了,因为它们反转的传感器给我颠倒的帧。
由于在此情况下旋转预览不会对我产生帮助,如here所述:

这不影响传递给onPreviewFrame(byte[], Camera)的字节数组的顺序

我想知道是否有任何方法可以检测相机传感器是否翻转或原始帧是否颠倒,以便在旋转它们时添加额外的校正。

2
我们也遇到了同样的问题,使用Camera2 API时也是如此。似乎CameraInfo.orientationCameraCharacteristics.SENSOR_ORIENTATION不能提供有关真实传感器方向的正确信息(在Nexus 6上,前后摄像头都为90)。到目前为止,我们所知道的唯一选择是拥有“特殊设备列表”。 - DoDo
1
我注意到我可用于测试的大多数手机返回后置摄像头为90度,前置摄像头为270度。我想知道这是否表明了它们的旋转。 - Edson Menegatti
3
看起来这是正确的。在Nexus 6上,前置摄像头返回90,而在其他设备上返回270。也许可以用于确定方向。还要检查这个SO答案 - DoDo
谢谢提供链接,看起来很不错! - Edson Menegatti
1
这可能会对您有所帮助 https://www.captechconsulting.com/blogs/android-camera-orientation-made-simple - Alex Townsend
1个回答

1
Nexus 5X和6的相机传感器旋转了180度。当设备发布时,许多应用程序出现了这个问题。在创建相机应用时,您应考虑到这一点,并相应地设置您的表面旋转。欲了解更多信息,请访问https://dev59.com/OFsW5IYBdhLWcg3wFj5p#35431231

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接