java - 如何在没有NDK的情况下在Android中处理原始相机数据

标签 java android opencv android-ndk

我可以在不使用 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/

相关文章:

java - 如何在scala中创建csv文件时添加新列

java - 调用 close 方法后打开 MongoDB 连接的问题

android - 基于 "Optimization Tips"设置targetSdk

android - 使用管理 API 启动应用程序

python - 从 RGB 转换为 LAB 色彩空间——是否了解 L*A*B* 值的范围?

java - 服务如何无限期运行并允许在android中绑定(bind)?

java - 如何在 java swing 应用程序中暂停/ sleep /等待?

android - 未找到默认的 RealmConfiguration。先调用 setDefaultConfiguration()

python - 将屏幕截图加载到内存中以进行 CV 模板匹配的最快方法

xcode - Xcode 4.4 中的 OpenCV