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