Как отобразить 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.