2024年10月25日 第23讲 CaptureRequest详解 极客笔记
本讲是Android Camera专题系列的第23讲,我们介绍Android Camera2 API专题的CaptureRequest详解。
更多资源:
资源 | 描述 |
---|---|
在线课程 | 极客笔记在线课程 |
知识星球 | 星球名称:深入浅出Android Camera 星球ID: 17296815 |
极客笔记圈 |
CaptureRequest可以理解为告诉Camera底层如何处理某一帧数据,包括两部分内容
ISP Processing Pipeline相关参数
3A相关参数
Output Surfaces
通过CaptureRequest.Builder来创建CaptureRequest
通过不同的方式送给Camera底层
captureBurst
setRepeatingRequest
setRepeatingBurst
CaptureRequest类型(通过Capturerequest#isReprocess()可以判断)
Reprocess:CameraDevice#createReprocessCaptureRequest
Builder模式:用于设置CaptureRequest参数和创建CaptureRequest对象
API | Description |
---|---|
set(Key |
设置指定Key对应的Value值 |
setPhysicalCameraKey(Key |
设置指定Physical Camera中Key对应的Value值 |
addTarget(Surface outputTarget) | 增加一路输出流 |
setTag(Object tag) | 给CaptureRequest设置一个TAG,用于标识该CaptureRequest,底层在onCaptureCompleted回调时,可以通过Capturerequest#getTag()获取到 |
build() | 创建CaptureRequest对象 |
get(Key |
获取指定Key对应的Value |
getPhysicalCameraKey(Key |
获取指定Physical Camera中Key对应的Value值 |
removeTarget(Surface outputTarget) | 删除一路输出流 |
API | Description |
---|---|
createCaptureRequest(int templateType) | 根据Template Type创建CaptureRequest.Builder,注意:这里返回的是带一包默认值的,不同的CameraDevice,这包默认值会不一样,因此不能混用。 |
createCaptureRequest(int templateType, Set |
根据Template Type和Physical CameraID Set创建CaptureRequest.Builder,通过Builder#setPhysicalCameraKey可以设置指定Physical Camera的参数。 Physical Camera的参数只适用于有Physical Camera OutputConfiguration的情况(OutputConfiguration#setPhysicalCameraId)。 physicalCameraIdSet来自CameraCharacteristics#getPhysicalCameraIds() |
createReprocessCaptureRequest (TotalCaptureResult inputResult) | 根据TotalCaptureResult创建用于Reprocess的CaptureRequest.Builder |
判断能否单独控制Logical MultiCamera中的Physical Camera
(CameraCharacteristics#getPhysicalCameraIds)
或者可以设置的Physical Camera Keys
(Cameracharacteristics#getAvailablePhysicalCameraRequestKeys)
创建Physical Camera OutputConfiguration
(OutputConfiguration#setPhysicalCameraId)
创建CaptureRequest.Builder
setPhysicalCameraKey
addTarget
获取Physical TotalCaptureResult
(TotalCaptureResult#getPhysicalCameraTotalResults )
本文链接:http://so.lmcjl.com/news/16198/