如何解决SCALER_CROP_REGION 如何在 camera2 和原生相机中工作?
我正在将 camera2 api 用于 java 以及 android 的本机端。使用 SCALER_CROP_REGION 我可以在一定程度上放大预览部分,但我想知道 SCALER_CROP_REGION 方法背后使用的实际算法。当我尝试使用 android 平台对这种“SCALER_CROP_REGION”方法进行回溯时,我只得到了谷歌开发人员的评论,说明我们如何使用它。
谁能告诉我 SCALER_CROP_REGION 背后使用的实际图像算法是什么?我们可以创建我们自己的自定义算法来提供相同的结果吗?
解决方法
缩放通常由相机图像信号处理器 (ISP) 中的硬件缩放单元完成。所以这将取决于你使用的设备和它有什么芯片组; Android 中没有关于如何完成缩放的一般要求。
请注意,这通常是缩小,而不是放大 - 如果您有 1080p 的预览输出,使用 12 MP 图像传感器,则相机管道实际上可能以 12 MP 运行并缩小到 1080p。因此,当您使用 SCALER_CROP_REGION 进行放大时,实际上是在减少缩小并接近 1:1 像素。 但是其他设备可能无法以全分辨率和 30fps 的速度运行其传感器,因此那些可能让传感器通过像素合并/跳过将图像缩小 2 倍或 4 倍,然后在 ISP 缩放器单元中执行其余的缩放.
无法查询给定设备使用哪种扩展策略,因此您自己复制它会很困难。当然,如果您使用 1080p 预览输出并自行裁剪和放大以实现缩放,您得到的结果可能会比相机给您的结果更差,因为它很可能从高于 1080p 的分辨率开始进行缩放。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。