Pregunta

Actualmente estoy escribiendo una aplicación Android que necesita usar OCR dentro de ella.

Para lograr esto, estoy usando Tesseract junto con el proyecto Tesseract-Android-Tools.

He logrado que la API de Tesseract se inicialice y necesite usar la siguiente función SetImage:

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

Con lo que estoy luchando es cómo obtener los valores correctos para BPP (bytes por píxel) y BPL (bytes por línea). ¿Alguien sabe cómo puedo obtener estos valores? He puesto valores bastante aleatorios en este momento y creo que está causando errores más adelante.

Debo tener en cuenta que la aplicación también está utilizando JAVACV para el reconocimiento de imágenes que reconoce bien las imágenes y estoy usando la misma fuente de datos de imagen para esta llamada Tesseract.

Gracias.

¿Fue útil?

Solución

De hecho, hice lo mismo y lo hice funcionar. Supongo que usará de alguna manera la cámara y la vista previa de la cámara para capturar la pantalla para el reconocimiento de OCR. Por lo tanto, puede obtener el formato de vista previa de la cámara, lo que le permite a través del Pixeformat para recuperar el bytesperpixel.

Te daré un breve ejemplo:

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.

Espero que ayude. Si tendrás más preguntas, déjame ahora.

Mis mejores deseos y buena suerte, Volker

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top