我可以在不使用 NDK+opencv 的情况下在 Android 设备中处理原始 RGB 相机数据吗? 我什至不需要更改显示的数据,只需从中获取信息。
最佳答案
据我所知,图像数据采用 NV21 格式,来自您的 byte[] data
代码取自https://developer.android.com/guide/topics/media/camera.html ( onPictureTaken
来自 PictureCallback()
,但类似于 onPreviewFrame(byte[] data, Camera camera)
来自 Camera.PreviewCallback
。
private PictureCallback mPicture = new PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
//convert here and do other stuff like save the picture.
}
};
在这两种情况下,您都必须在上述方法中从 NV21 转换为 RGB,您可以像这样实现:Confusion on YUV NV21 conversion to RGB
关于java - 如何在没有NDK的情况下在Android中处理原始相机数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12551959/