当我尝试使用reader.acquireLatestImage()处理图像时,为什么从未调用函数

时间:2019-01-09 20:15:23

标签: java android android-camera2

onImageAvailable中未调用函数

我正在尝试使用OpenCV和camera2在摄像机的预览框中检测到人脸。我的相机预览正常工作,并且可以在屏幕上看到图像,但是从未调用函数setFace(bitmap)

readerListener = new ImageReader.OnImageAvailableListener() {
    @Override
    public void onImageAvailable(ImageReader reader) {
        Image image = null;
        try
        {
            Log.d(TAG,"acquiredLatestImage");
            image = reader.acquireLatestImage();
            ByteBuffer buffer = image.getPlanes()[0].getBuffer();
            byte[] bytes = new byte[buffer.capacity()];
            buffer.get(bytes);
            Bitmap mBitmap = BitmapFactory.decodeByteArray(bytes, 0, bytes.length, null);
            setFace(mBitmap);
            System.out.println("onImageAvailable::Acquired an image");
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
        finally {
            {
                if (image != null)
                    image.close();
            }
        }
    }
};

0 个答案:

没有答案