【发布时间】:2016-10-05 07:40:39
【问题描述】:
我希望获得失真最小的图像流(无降噪等),而无需处理 RAW 输出。
我正在使用两个流(一个在使用已弃用的camera 时),一个用于预览,一个用于处理。我了解 camera2 api,但想知道在将传感器输出拟合到表面时使用哪种上采样/下采样?
更具体地说,我正在处理缩放图像,并根据有关 cropping 和 references 的 camera2 文档:
对于非原始流,将执行任何额外的每个流裁剪以最大化流的最终像素区域。
整个概念很容易理解,但也提到:
输出流使用这个矩形来产生它们的输出,必要时裁剪到更小的区域以保持流的纵横比,然后缩放传感器输入以匹配输出的配置分辨率。
但我无法找到有关此缩放的任何信息。使用哪种方法(基于过滤器、双三次、边缘导向等)?有没有办法获得这些信息?有没有一种方法可以让我真正选择使用哪个?
关于已弃用的camera,我猜缩放只是更简单,从某种意义上说,它可能相当于拥有SCALER_CROPPING_TYPE_CENTER_ONLY,只有一组有限的裁剪区域对应于暴露的缩放比例。但是图像缩放是否与camera2 中的相同?如果有人能提供一些启示,我会很高兴。
现实生活中的例子
相机传感器:5312x2988(16:9)
我想要 4 倍缩放,所以裁剪区域应该是 (1992, 1120, 1328, 747)
(顺便说一句,奇数尺寸会发生什么?例如SCALER_CROPPING_TYPE_CENTER_ONLY 设备?)
现在我有一个大小为 (1920, 1080) 的表面,裁剪区域和流比适合,但必须转换 1328x747 值以填充 1920x1080 表面。我想知道这种转变的本质。
【问题讨论】: