Значение Bytes Per Pixel для байтового представления изображения в Android - PullRequest
1 голос
/ 02 мая 2011

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

Для этого я использую Tesseract в сочетании с проектом tesseract-android-tools .

Мне удалось инициализировать API Тессеракта, и мне нужно использовать следующую функцию setImage:

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

Я борюсь с тем, как получить правильные значения для bpp (байтов на пиксель) и bpl (байтов на строку). Кто-нибудь знает, как я могу получить эти значения? Я поместил довольно случайные значения в данный момент и считаю, что это вызывает ошибки позже.

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

Спасибо.

1 Ответ

6 голосов
/ 13 мая 2011

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

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

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

...