Как отобразить getFrameNumber для CameraResult для получения изображений из ImageReader Camera2 - PullRequest
0 голосов
/ 23 мая 2018

Мне нужно getFrameNumber для объекта изображения, полученного от ImageReader для моей камеры2.

В настоящее время я получил другую метку времени для следующего кода, поэтому я не могу отобразить getFrameNumberиз CameraResult callback.

 CameraCaptureSession.CaptureCallback captureListenerLeft = new CameraCaptureSession.CaptureCallback() {
        @Override
        public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request, TotalCaptureResult result) {
            super.onCaptureCompleted(session, request, result);

                Log.d(TAG, "#### Camera Preview: FrameNumber:[" + result.getFrameNumber()+"] TimeStamp:[" + result.get(CaptureResult.SENSOR_TIMESTAMP) / 1000000 + "] Expo:[" +result.get(CaptureResult.SENSOR_EXPOSURE_TIME)+ "] FrameDuration:[" + result.get(CaptureResult.SENSOR_FRAME_DURATION) + "]");

        }
    };

Теперь в ImageReader Callback: -

ImageReader.OnImageAvailableListener mImgLeftCameraListener=new ImageReader.OnImageAvailableListener() {
        @Override
        public void onImageAvailable(ImageReader imageReader) {

            try{
                Image mImage=imageReader.acquireNextImage();
                long mTimeStap=mImage.getTimestamp()/1000000;              
                mImage.close();
            }catch (Exception exc){

                exc.printStackTrace();
            }

        }
    };

Теперь проблема заключается в том, что Image reader mTimeStap не соответствует значению result.get(CaptureResult.SENSOR_TIMESTAMP) / 1000000, поэтому яЯ не могу отобразить getFrameNumber.

ПРИМЕЧАНИЕ. Мой android - сборка ОС 7.1.1 для Qualcomm 820.

1 Ответ

0 голосов
/ 23 мая 2018

Отметки времени - единственный способ сопоставить их;По замыслу API они должны совпадать.Какие различия вы видите в значениях меток времени?

Редактировать: И добавить, что нет способа получить номер кадра из считывателя изображений;это значение вообще не передается в ImageReader.

...