【问题标题】:Android: Raw image callback supported devicesAndroid:支持原始图像回调的设备
【发布时间】:2011-08-22 06:07:57
【问题描述】:

我正在处理一些图像处理,我需要原始图像数据。但不幸的是,根据文档,这是可选的,取决于供应商。

我已经能够在 LG Optimus Maha(mac / lu3000) android dev 上获得原始图像,市场上还有其他支持它的设备吗?

不支持它的设备(来源 - 我的实验 + google 问题 10910:无法捕获原始图像)-

  • 搭载 Android 2.2.1 的摩托罗拉 DroidX
  • 三星银河
  • HTC Desire 与 Android 2.2
  • Nexus S
  • Nexus One

如果有人有不同的设备并且可以尝试一下,那就太好了..

更多关于为什么不支持回叫的信息here

【问题讨论】:

  • 你试过用 startPreview() 和 setPreviewCallback() 代替 takePicture() 吗?
  • 我的预览分辨率是 VGA (640x480),但我要捕捉的图像是 2M。如果我使用 setPreivewCallback,我不会以预览分辨率获取原始图像吗? (我想要 2M 原始图像数据 :))而且提高预览分辨率往往会使应用程序在不同设备之间不稳定..
  • 当然,预览分辨率较低,它是...预览。但正如您提到的图像处理,我认为您可能正在研究特征提取、图像分析......在这种情况下,质量和/或分辨率可能很重要,也可能不很重要。
  • 您已经非常准确了,是的,可以在较小的图像上进行特征提取和图像分析。我想我不清楚,我的最终目标需要在分辨率为 2M 的图像上。关于如何做到这一点的任何想法?我似乎想出的唯一解决方法是解码压缩图像,然后使用原始图像,这将丢失相当多的信息.​​.....
  • 如果你需要高分辨率,那么解码压缩图像确实是我唯一想到的事情。但是你见过 Camera.Parameters.setJpegQuality() 吗?

标签: image-processing callback android-camera android


【解决方案1】:

您列出的设备是主要设备。如果这些上没有原始图像支持,那么它会影响相当大的市场份额。我没有任何确切的数字,但根据我自己的市场统计数据和一年多来收到的邮件,我认为至少 30%。

此外,它不仅是重要的市场份额,而且还是目前最强大的设备之一。正是高级用户手中的那些。如果我告诉你我的感受,那就是 50% 的应用购买者(不一定是 50% 的设备),但这只是一种直觉。

因此,我认为您需要能够通过在图像处理之前动态解码来很好地处理 JPEG 数据。请注意并优化此 JPEG 后备。如果您担心质量,请尝试Camera.Parameters.setJpegQuality()

另外,我不确定您为什么要查找设备列表。也许是为了您的个人/业务统计数据,但如果是关于兼容性,那么最好在首次访问相机时发现是否动态支持原始支持并缓存它,只要某些 android.os.Build 常量不改变。

也就是说,忘记原始图像并仅依赖 JPEG 可以简化您的流程并简化测试。这也值得考虑。我想我会走那条路,因为如果原始支持很少见,那么它不会被许多应用程序使用,测试不佳,因此“原始”可能是任何东西。 JPEG 被广泛使用,因此经过适当测试,这一点很重要。

【讨论】:

  • 但我仍在寻找设备列表.. :)
  • 感谢您接受我的回答。在某个时间点,我和其他几个(音频)开发人员想制作一个应用程序来收集有关设备音频特性的统计信息。一个从市场上安装的应用程序,一些用户可能会发现它对了解更多关于他们的系统很有用。该应用程序还会自动将特征发送到服务器,以帮助我们的开发人员处理大规模的“碎片化”。在某些时候,我还考虑过分析视频支持等......在你的情况下,这将是图像格式。开始这个项目的时间不多,但你可以考虑一下。
猜你喜欢
  • 2013-06-17
  • 1970-01-01
  • 2021-10-19
  • 2013-05-09
  • 2018-02-27
  • 1970-01-01
  • 2013-09-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多