从android

时间:2016-02-03 14:57:07

标签: android pixel

我有一个OCR扫描文本逻辑需要在实时中工作。该应用程序需要扫描相机上显示的任何文本。

目前,我正在抓取相机的onPreviewFrame方法,为了准确,我想转换字节数据,这样就可以将该方法转换为像素。

我该怎么做?到目前为止谷歌我找不到答案。

到目前为止,我只是尝试了这段代码而没有别的,因为我找不到其他任何东西

 Pix pix = Pix.createFromPix(byteData,imageWidth,imageHeight,imageDepth);

但我觉得我做错了,这不是来自字节的像素格式......

1 个答案:

答案 0 :(得分:1)

onPreviewFrame()的描述中,字节的内容取决于先前设置的预览格式。例如,如果您将格式设置为RAW10,则其文档说明:

  

在具有此格式的图像缓冲区中,从第一个像素开始   每行,每4个连续像素被打包成5个字节(40位)。

文档详细解释了如何获得所有像素。

但是,我认为如果用Java实现,那么以这种方式转换字节可能会太慢,尤其是如果你想要实时的话。相机提供了在SurfaceView中不断显示预览图像的方法,但据我所知,你也无法从中获取位图。

我应该看一下xzing barcode scanner project的源代码。它们可以实时检测各种条形码,因此您应该能够从那里提取图像。