对于我的相机2,我需要getFrameNumber
从ImageReader
收到的Image对象。
目前,我收到了以下代码的不同时间戳,因此,我无法映射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.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();
}
}
};
现在在ImageReader回调: -
mTimeStap
现在问题是图片阅读器result.get(CaptureResult.SENSOR_TIMESTAMP) / 1000000
与plt.plot(x,y)
值不匹配,所以我无法映射getFrameNumber。
注意:我的android是高通820的7.1.1自定义操作系统构建。
答案 0 :(得分:0)
时间戳是匹配这些的唯一方法;通过API的设计,它们应该匹配。您在时间戳值中看到了哪些差异?
编辑:要添加,无法从图像阅读器获取帧编号;该值根本不会传递给ImageReader。