我是CameraX的新手,来自Camera2
对于Camera2,当调用CameraCaptureSession. CaptureCallback. onCaptureCompleted时,我们会获得TotalCaptureResult的示例,其中包含许多关于图像的有用信息,例如:第一个月
现在,我开始使用CameraX,并使用图像分析用例。
在这种情况下,我通过
void analyze(@NonNull ImageProxy image);
但是,我如何才能获得与图像相关的自动对焦状态呢?
多谢了
我搜索了CameraX源代码,但没有找到答案。
但是对于这样的分析用例,在我看来知道图像是否对焦是非常重要的。
1条答案
按热度按时间xurqigkl1#
万一这对别人有帮助,我找到了一个解决我问题的方法。
总之,使用Camera2Interop.Extender(构建器)
关于细节,在我使用ImageAnalysis.Builder()的地方,我用CameraCaptureSession.CaptureCallback(属于Camera2)的一个实现来修改它,回到已知的世界,在那里你可以像这样获得关于每个图像的元数据:
下面是获取CaptureResult的方法:
其中
captureCallback
实现了CameraCaptureSession.CaptureCallback
然后,您只需使用时间戳将捕获元数据Map到每个图像:
imageProxy.imageInfo.timestamp
,您可以从实现result.get(CaptureResult.SENSOR_TIMESTAMP)
,您可以从实现但是要注意,对于提供给
ImageAnalysis.Analyzer.analyze
的每个映像,不一定都调用onCaptureCompleted
。