Значение байт на пиксель для байтового представления изображения в Android

#android #ocr #tesseract

#Android #распознавание текста #тессеракт

Вопрос:

В настоящее время я пишу приложение для Android, в котором необходимо использовать OCR.

Для достижения этого я использую 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 (байт на пиксель) и бпл (байт на строку). Кто-нибудь знает, как я могу получить эти значения?На данный момент я ввел туда довольно случайные значения и считаю, что это вызывает ошибки позже.

Я должен отметить, что приложение также использует JavaCV для распознавания изображений, которое отлично распознает изображения, и я использую тот же источник данных изображения для этого вызова tesseract.

Спасибо.

Ответ №1:

Я на самом деле сделал то же самое и заставил его работать. Я предполагаю, что вы каким-то образом будете использовать камеру и предварительный просмотр камеры для захвата экрана для распознавания OCR. Таким образом, вы можете получить формат предварительного просмотра с камеры, который позволяет вам через PixelFormat извлекать байт-пиксель.

Я приведу вам короткий пример:

 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.
  

Я надеюсь, что это поможет. Если у вас возникнут дополнительные вопросы, позвольте мне сейчас.

Наилучшие пожелания и удачи, Фолькер

Комментарии:

1. Я не уверен, почему бпл является дополнительным входом. Не bpl=bpp*width всегда?