Android 如何在相机预览数据中分割左右相机图像(HTC Evo 3D)

Android 如何在相机预览数据中分割左右相机图像(HTC Evo 3D),android,3d,camera,Android,3d,Camera,现在我有了带有两个后置摄像头的HTC Evo 3D,并计划做一些立体视觉实验。我使用以下代码访问立体相机: private final static int CAMERA_STEREOSCOPIC = Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH ? 2 : 100; camera = Camera.open(CAMERA_STEREOSCOPIC); 但是这里预览数据的大小和数据结构是什么,如何在相机预览

现在我有了带有两个后置摄像头的HTC Evo 3D,并计划做一些立体视觉实验。我使用以下代码访问立体相机:

private final static int CAMERA_STEREOSCOPIC 
= Build.VERSION.SDK_INT < Build.VERSION_CODES.ICE_CREAM_SANDWICH ? 2 : 100;
camera = Camera.open(CAMERA_STEREOSCOPIC);
但是这里预览数据的大小和数据结构是什么,如何在相机预览代码中分割左右相机图像?

顺便说一句,我应该注意两个摄像头预览数据的缓冲区大小吗


有什么想法吗?提前谢谢

我自己得到一个解决方案:添加opencv4android库,其示例中有相关代码,可以快速将相机帧(yuv420s)转换为rgba,然后在ImageView上显示左右图像。仅供参考。嘿,我正在使用OpenCV4Android java接口来做同样的事情。但我不能同时使用两个后置摄像头。我正在使用CameraBridgeViewBase访问相机。我尝试了不同的索引。0提供了上背部摄像头。1给出了前摄像头-1提供相同的上背摄像头。如何进入下背部摄像头?
bufferSize = mPreviewWidth * mPreviewHeight * bitsPerPixel / 8;
mPreviewBuffer = null;

// New preview buffer.
mPreviewBuffer = new byte[bufferSize + 4096];

// with buffer requires addbuffer.
camera.addCallbackBuffer(mPreviewBuffer);
camera.setPreviewCallbackWithBuffer(mCameraCallback);

private final Camera.PreviewCallback mCameraCallback = new Camera.PreviewCallback() {
public void onPreviewFrame(byte[] data, Camera c) {
        // to do the camera image split processing using "data"
}
};