【发布时间】:2012-12-22 23:41:56
【问题描述】:
我正在尝试使用来自 Android 图片的数据。我不喜欢 JPEG 格式,因为最终我会使用灰度数据。 YUV 格式对我来说没问题,因为前半部分是灰度的。
来自 Android 开发教程,
public final void takePicture(Camera.ShutterCallback 快门, Camera.PictureCallback 原始,Camera.PictureCallback 后视图, Camera.PictureCallback jpeg)
在 API 级别 5 中添加
触发异步图像捕获。相机服务将 对应用程序发起一系列回调作为图像捕获 进展。拍摄图像后发生快门回调。 这可用于触发声音以让用户知道该图像 已被捕获。 raw 回调发生在原始图像数据是 可用(注意:如果没有原始图像,则数据将为空 回调缓冲区可用或原始图像回调缓冲区不可用 大到足以容纳原始图像)。 postview 回调发生在 可以使用缩放的、完全处理的 postview 图像(注意:并非全部 硬件支持这一点)。 jpeg 回调发生在压缩时 图像可用。如果应用程序不需要特定的 回调,可以传递一个null而不是回调方法。
它谈论“原始图像数据”。但是,我找不到有关原始图像数据格式的信息? 你对此有什么想法吗?
我想得到照片拍摄的照片的灰度数据,数据位于手机内存中,所以不会花费时间从图像文件中写入/读取,或在不同图像格式之间进行转换.或者也许我必须牺牲一些才能得到它??
【问题讨论】:
-
如果我正确阅读文档,它是一个字节数组:developer.android.com/reference/android/hardware/…
-
谢谢。我知道它是字节数组。我的意思是,是 YUV 格式,还是 JPEG 格式,还是其他格式?
-
Guide developer.android.com/guide/topics/media/… 现在建议
PictureCallback.getOutputMediaFile(MEDIA_TYPE_IMAGE)返回默认格式。