4

现在我有了带两个后置摄像头的 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);

要访问相机预览数据:

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"
}
};

但是这里的预览数据的大小和数据结构是怎样的,怎么在相机预览代码中分割左右相机图像呢?

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

有任何想法吗?提前致谢!

4

0 回答 0