Как отобразить getFrameNumber для CameraResult для получения изображений из ImageReader Camera2

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

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

 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:-

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.

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

1 ответ

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

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

Другие вопросы по тегам