Camera2 ImageReader

2024-05-19  本文已影响0人  不会弹钢琴de大叔

在开发中发现在camera2获取onImageAvailable(ImageReader reader)image数据时,部分机型在设置 ImageFormat.YUV_420_888 属性后,返回的ImageReader中返回的Image image = reader.acquireNextImage(); image对象并非都是yuv 420的类型,有的机型返回的时yuv 422类型。

        //看yuv的类型通过下面的方法即可
        Image.Plane[] planes = image.getPlanes();
        ByteBuffer bufferY = planes[0].getBuffer();
        ByteBuffer bufferU = planes[1].getBuffer();
        ByteBuffer bufferV = planes[2].getBuffer();
      
        如果bufferY :bufferU:bufferV = 4:1:1  就是yuv 420
        如果bufferY :bufferU:bufferV = 4:2:2  就是yuv 422

   mImageReader = ImageReader.newInstance(mPreviewSize.getWidth(), mPreviewSize.getHeight(),
                    ImageFormat.YUV_420_888, 1);
上一篇下一篇

猜你喜欢

热点阅读