2024年10月26日 第39讲 通过ZoomRatio控制Zoom缩放 极客笔记
本讲是Android Camera专题系列的第39讲,我们介绍Android Camera2 API专题的通过Zoom Ratio控制Zoom缩放。
更多资源:
资源 | 描述 |
---|---|
在线课程 | 极客笔记在线课程 |
知识星球 | 星球名称:深入浅出Android Camera 星球ID: 17296815 |
极客笔记圈 |
但,Zoom Ratio仍然有他的缺点
当使用Zoom Ratio来控制Zoom时,都是基于中心点不变的方式来Zoom,不支持FREEDOM方式进行Zoom。即使设置了FREEDOM的crop region也会被Camera Framework覆盖掉
CaptureRequest#CONTROL_ZOOM_RATIO:App可以通过该Metadata以更简单的方式来控制Zoom,这里的Zoom包含了光学变焦和数字变焦
这里的光学变焦如何理解
使用Logical multi-cam时,当在这些Camera间切换时能产生不同的Zoom效果,这里的Zoom被认为是光学变焦
Zoom Ratio与Crop Region同时使用说明
Crop region: Rect(0, 0, 2000, 1500) // (left, top, right, bottom) (post zoom)
1280×720 stream source area: (0, 187, 2000, 1312) (垂直裁剪)
Zoomed field of view: 1/4 of original field of view
Crop region: Rect(0, 187, 2000, 1312)
1280×720 stream source area: (0, 187, 2000, 1312) (与 crop region相等)
Zoomed field of view: 4x of original field of view (switched from wide lens to ultrawide lens)
Crop region: Rect(250, 0, 1750, 1500)
1280×720 stream source area: (250, 328, 1750, 1172) (垂直裁剪)
从这些例子可以看出:
1.cropregion的坐标系统现在变成了有效的后变焦FOV,3A和Face看到的也是有效的后变焦FOV
2.在CaptureRequest中设置Zoom Ratio后,CaptureResult中,ZoomRatio表示Camera设备实际调整的倍数,Crop Region表示在Camera设备Zoom的基础上额外加上的Zoom倍数。
举例:App想放大2倍,预览size为640×480,App想设置左上角1/4为3A ROI,有下面两种实现方式:
Zoom Ratio只会设置给Logical muti-camera,对Physical Camera不起作用.
本文链接:http://so.lmcjl.com/news/16278/