gpt4 book ai didi

android - 如何使用 Android 相机获取全分辨率和未压缩的图像数据?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:46:32 25 4
gpt4 key购买 nike

我想得到一个全分辨率(而不是压缩)的图像数据,然后我可以做一些图像处理。

据我所知,android api takePicture (shutter, raw, jpg) 可以做一些事情。但我需要的不是压缩的 JPEG 数据,而是未压缩的图像数据。我也知道原始回调不会根据我阅读的一些帖子进行工作。

我还找到了 onPreviewFrame 的 api,我从中得到的最大图片尺寸是 1280*720(使用 setPreviewSize),而我从相机捕获的原始图像是 1952*3264 的分辨率。

此外,Intent.putExtra(MediaStore.EXTRA_OUTPUT, uri) 可能会有帮助,但 uri 的文件可能应该是压缩格式的 jpeg 文件。

但是无论如何都可以获得完整尺寸(与捕获的相同)和未压缩(不是 JPEG)的图像数据吗?

最佳答案

takePicture() 的文档明确表示可以请求原始数据,但回调是可选的。今天,大多数设备不支持原始回调。这不足为奇:现代相机在硬件中执行 Jpeg 压缩,并且相机和应用处理器之间的内存总线无法足够快地处理 24 兆字节的原始数据(对于普通的 8 兆像素相机)。

避免使用预览回调而不是 takePicture() 的诱惑:即使在相同的分辨率下,静态图片的图像质量也会更好。预览图像可能有不精确的自动对焦、稳定性、曝光甚至白平衡。

关于android - 如何使用 Android 相机获取全分辨率和未压缩的图像数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19478101/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com