Toybrick

标题: 求Android camera2 image数据帧使用rga转换方法 [打印本页]

作者: xyt2008    时间: 2023-4-24 14:16
标题: 求Android camera2 image数据帧使用rga转换方法
Android camera2 下使用public void onImageAvailable(ImageReader reader)函数得到每一帧图像数据
image = reader.acquireLatestImage();需要对image数据进行yuv420转rgb,进行算法分析;当前在rk3568上使用opencv cpu转换1280*720分辨率的图像特别慢,不能满足实时性需求。使用libRGA进行格式转换。始终不能转换出正确的图像来。使用rknpu2中的android demo里面libRGA转换函数是基于camera1的,能够正常转换。将如下的转换方法进行处理camera2的image数据始终不能成功。求个libRGA转换camera2 image数据到RGB的方法。@Override
public void onPreviewFrame(byte[] data, Camera camera) {
    mCamera0.addCallbackBuffer(data);
    ImageBufferQueue.ImageBuffer imageBuffer = mImageBufferQueue.getFreeBuffer();

    if (imageBuffer != null) {

        long oldTime = System.currentTimeMillis();
        RGA.colorConvert(data, RK_FORMAT_YCrCb_420_SP,
                imageBuffer.mImage, RK_FORMAT_RGBA_8888,
                CAMERA_PREVIEW_WIDTH, CAMERA_PREVIEW_HEIGHT, this.flip);
        long currentTime = System.currentTimeMillis();
        //float fps = 1000.f / (currentTime - oldTime);
        //Log.d(TAG, "fps = "+String.valueOf(fps));
        float times = currentTime - oldTime;
        Log.d(TAG, "RGA.colorConvert times = "+String.valueOf(times)+"ms");

        mImageBufferQueue.postBuffer(imageBuffer);
    }
}

作者: xyt2008    时间: 2023-4-24 14:18
libRGA写的rgb和bgr之间互转是能正常的。就是这个camera2出来的yuv420数据格式很怪,始终不能正确转换出来。




欢迎光临 Toybrick (https://t.rock-chips.com/) Powered by Discuz! X3.3