我正在编写一个 Android 应用程序,它在 HTC Evo 3D 上使用来自相机的立体图像数据。我尝试使用带有 HTC OpenSense API 提供的一些 3D 特定功能的标准 Android API 访问数据。到目前为止,我可以在立体模式下访问相机,并且可以使用onPreviewFrame()
回调方法获取图像数据。
但是,可用的“原始”图像数据(data[]
字节数组)onPreviewFrame()
并不完整。我得到的图像是正确的并排立体图像,但它的水平尺寸缩小了两倍。例如,当将相机预览尺寸设置为 1280x720 像素时,我希望得到一个 2560x720 像素的图像(两个所需分辨率为 1280x720 像素的图像)。但我得到的是一张 1280x720 分辨率的照片,其中一半来自右侧摄像头,另一半来自左侧摄像头。我不知道为什么水平分辨率会降低。
这个论坛上有一个类似的帖子,但答案并没有真正解决问题。尽管DisplaySetting.setStereoscopic3DFormat()
在我的程序中返回 true,但它似乎对显示或图像数据没有任何影响。
有没有人有这个问题的经验?