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

如何使用Android相机获得完全分辨率和未压缩的图像数据?,第1张

概述我想获得一个完整的分辨率(而不是压缩)图像数据,然后我可以做一些图像处理.据我所知,android api takePicture(快门,原始,jpg)可以做点什么.但我需要的不是压缩的JPEG数据,而是未压缩的图像数据.而且我知道原始回调不起作用我读过的一些帖子.我还找到了api onPreviewFrame,我得到的最大图片尺寸是1280 * 720(使

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

据我所知,android API takePicture(快门,原始,jpg)可以做点什么.但我需要的不是压缩的JPEG数据,而是未压缩的图像数据.而且我知道原始回调不起作用我读过的一些帖子.

我还找到了API onPrevIEwFrame,我得到的最大图片尺寸是1280 * 720(使用setPrevIEwSize),而我从相机拍摄的原始图像是1952 * 3264的分辨率.

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

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

最佳答案takePicture()的文档清楚地表明可以请求原始数据,但回调是可选的.今天,大多数设备不支持原始回调.这应该不足为奇:现代相机在硬件中执行Jpeg压缩,相机和应用处理器之间的内存总线无法足够快地处理24兆字节的原始数据(对于适度的800万像素相机).

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

总结

以上是内存溢出为你收集整理的如何使用Android相机获得完全分辨率和未压缩的图像数据?全部内容,希望文章能够帮你解决如何使用Android相机获得完全分辨率和未压缩的图像数据?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1140349.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存