android - CameraX 等效于 Camera2 的 CaptureRequest

标签 android android-camera android-camera2 android-camerax

我想使用 ImageAnalysis使用 CameraX,但调整一些相机设置,例如自动对焦或自动白平衡、曝光和帧持续时间。

这是我需要的设置以及如何使用 Camera2 进行设置的示例:

    captureRequestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CameraMetadata.CONTROL_AE_MODE_OFF)
    captureRequestBuilder.set(CaptureRequest.CONTROL_AWB_MODE, CameraMetadata.CONTROL_AWB_MODE_OFF)
    captureRequestBuilder.set(CaptureRequest.SENSOR_FRAME_DURATION, FRAME_DURATION_NS)
    captureRequestBuilder.set(CaptureRequest.SENSOR_EXPOSURE_TIME, EXPOSURE_TIME_LIMIT_NS)

如何将其“翻译”为 CameraX?

最佳答案

有用于自定义 CaptureRequest 参数的 Camera2InterOp。例子:

fun buildImageAnalysis() : ImageAnalysis {
    val builder = ImageAnalysis.Builder()
    val camera2InterOp = Camera2Interop.Extender(builder)
    camera2InterOp.setCaptureRequestOption(CaptureRequest.CONTROL_AE_MODE, CameraMetadata.CONTROL_AE_MODE_OFF)
    camera2InterOp.setCaptureRequestOption(CaptureRequest.CONTROL_AWB_MODE, CameraMetadata.CONTROL_AWB_MODE_OFF)
    camera2InterOp.setCaptureRequestOption(CaptureRequest.SENSOR_FRAME_DURATION, FRAME_DURATION_NS);
    camera2InterOp.setCaptureRequestOption(CaptureRequest.SENSOR_EXPOSURE_TIME, EXPOSURE_TIME_LIMIT_NS)
    return builder.build()
}

关于android - CameraX 等效于 Camera2 的 CaptureRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60508870/

相关文章:

android - 清除 Android picasso 图像库的磁盘/SD 卡缓存

android - Android 手机每 66 毫秒拍照一次以进行颜色分析(心率监测)

android - Camera2 ImageReader 卡住重复的捕获请求

android - Camera2 API无法关闭TORCH模式

android - 在android中使用相机应用程序时出错

android - 跨方向更改保留 xml fragment

java - 为什么我的 Activity 被停止?

java - 由于 XML 文件中存在空格而解析提要时出错

android - Android L 相机中的手动 ISO 控制和变焦控制 (android.hardware.Camera2)

java - 如何在 Android Camera Preview 中使用 OpenCV 方法