第33讲 Android Camera2 API AE自动曝光实战

本讲是Android Camera专题系列的第33讲,我们介绍Android Camera2 API专题的AE自动曝光实战,包括如下内容:

  1. AE自动曝光流程
  2. EV控制流程
  3. AE Lock流程

视频在线观看:

加入知识星球与更多Camera同学交流
– 星球名称:深入浅出Android Camera
– 星球ID: 17296815

GeekCamera2 AE自动曝光流程

回顾GeekCamera2启动流程:11讲 Android Camera2 API StreamConfigurationMap实战一

Step1: 3A总开关控制

Preview#initCameraParameters
    |-->CameraController2#setSceneMode
        |-->CameraSettings#setSceneMode
            |-->根据当前的scene mode来设置CaptureRequest.CONTROL_MODE

Step2: 设置AE 模式

CameraController2#createPreviewRequest
    |--> CameraSettings#setupBuilder
        |--> CameraSettings#setAEMode
            |-->根据是否自动曝光和Flash状态设置AE Mode

GeekCamera2 EV控制流程

UI上按EV方式展示可调范围

MainActivity#cameraSetup
    |--> SeekBar exposure_seek_bar = findViewById(R.id.exposure_seekbar)
    |--> exposure_seek_bar.setOnSeekBarChangeListener(null)
    |--> exposure_seek_bar.setMax( preview.getMaximumExposure() - min_exposure )
    |--> exposure_seek_bar.setProgress( preview.getCurrentExposure() - min_exposure )
    |--> exposure_seek_bar.setOnSeekBarChangeListener(new OnSeekBarChangeListener()

调节EV

onProgressChanged
    |--> Preview.setExposure
        |--> CameraController2.setExposureCompensation
            |--> CameraSettings.setExposureCompensation
                |--> 设置CONTROL_AE_EXPOSURE_COMPENSATION
        |--> showToast(getExposureCompensationString(new_exposure), 0, true)

GeekCamera2 AE Lock流程

MainActivity#clickedExposureLock
  |--> Preview#toggleExposureLock
    |--> CameraController2#setAutoExposureLock
      |--> set CaptureRequest.CONTROL_AE_LOCK value
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

deepinout_camera

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值