当前位置:  开发笔记 > 编程语言 > 正文

Android中图像的字节表示的字节数每像素值

如何解决《Android中图像的字节表示的字节数每像素值》经验,为你挑选了1个好方法。

我目前正在编写一个需要在其中使用OCR的Android应用程序.

为了实现这一点,我将Tesseract与tesseract-android-tools项目结合使用.

我设法让Tesseract API初始化并需要使用以下setImage函数:

void com.googlecode.tesseract.android.TessBaseAPI.setImage(byte[] imagedata, int width, int height, int bpp, int bpl)

我正在努力的是如何获得bpp(每像素字节数)和bpl(每行字节数)的正确值.有谁知道我怎么能得到这些价值观?我现在已经在那里放置了相当随机的值,并且相信它会在以后导致错误.

我应该注意到应用程序也使用JavaCV进行图像识别,这可以很好地识别图像,并且我正在使用相同的图像数据源进行此tesseract调用.

谢谢.



1> 小智..:

我实际上也做了同样的工作.我想你会以某种方式使用相机和相机预览来捕捉屏幕以进行OCR识别.因此,您可以获得相机预览格式,这允许您通过PixelFormat检索BytesPerPixel.

我给你一个简短的例子:

Camera.Parameters cameraParameters = camera.getParameters(); // retrieve the camera parameters
previewFormat = cameraParameters.getPreviewFormat(); // retrieve the Previewformat according to your camera

PixelFormat pf = new PixelFormat(); // create a PixelFormat object
PixelFormat.getPixelFormatInfo(previewFormat, pf); // get through the previewFormat-int the PixelFormat

int bpp = pf.bytesPerPixel; // save the BytesPerPixel for this Pixelformat
int bpl = bpp*width; // BytesPerLines is just the "BPP * width" of your PreviewFormat/Picture

tess.setImage(imagedata, width, height, bpp, bpl); // setImage with imagedata[], width and height of the previewFormat, etc.

我希望它有所帮助.如果您还有其他问题请立即与我联系.

祝你好运,Volker


我不确定为什么bpl是一个额外的输入.总是不是`bpl = bpp*width`吗?
推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有