CameraCharacteristics返回的最大数码变焦值为何仅为原生相机的一半
三星Galaxy S6 实现8倍满额变焦解决方案
根因说明
CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM返回的4倍是YUV输出通道的原生数字变焦上限,三星原生相机的8倍变焦是基于RAW域裁切+原厂后处理实现的,该能力不会暴露在公开相机接口的返回值中- 你测试得到的RAW拍摄手动去马赛克后等效8倍清晰度的结果,也验证了1600万像素传感器的裁切空间远大于YUV通道的4倍限制
取景器满额变焦实现方案
方案1(效果最优):RAW预览流实现
如果你的应用适配Android 7.0及以上系统,直接配置RAW格式的预览Surface,拿到原始拜耳数据后自行按8倍缩放系数裁切,再做轻量化快速去马赛克输出到取景器即可,和你后续拍照的处理逻辑完全对齐,预览清晰度和原生相机一致方案2(兼容性最优):YUV预览流叠加缩放实现
- 先调用系统公开变焦接口拉满4倍原生数字变焦,获取系统裁切后的YUV预览流
- 额外对YUV预览流做2倍软件裁切缩放,叠加后即可得到等效8倍的预览效果,预览清晰度略低于RAW预览方案,但可兼容更低版本的Android系统
- 前置校验注意:S6传感器最大输出尺寸为5312x2988,8倍裁切后分辨率为664x373,满足常规预览流最低分辨率要求,无硬件层面的实现障碍
适配提示:部分三星设备第三方调用相机时会默认限制RAW域输出,初始化相机时需要添加vendor tag
vendor.samsung.raw.enable并赋值为1,即可正常获取全尺寸RAW数据
内容的提问来源于stack exchange,提问作者Miguel
相关产品推荐
相关产品推荐

