Android Тессеракт и Лептоника OCR. Читайте индивидуальную коробку и символ
Я работаю с Tesseract на Android, и у меня есть следующий код для извлечения строки и блоков, считанных из изображения:
TessBaseAPI baseApi = new TessBaseAPI();
baseApi.init(tess_path, "eng");
baseApi.setImage(bitmap);
String recognizedText = baseApi.getUTF8Text();
ArrayList<Rect> boxes = baseApi.getCharacters().getBoxRects();
Pixa pixa = baseApi.getCharacters();
baseApi.end();
Здесь я вижу текст и поля каждого символа, но иногда размер текста отличается от размера массива блоков, тогда невозможно установить поле с прочитанным символом.
Есть ли способ получить точную коробку и ее символ?
1 ответ
Используйте ResultIterator вместо getCharacters()
:
// Iterate through the results.
final ResultIterator iterator = baseApi.getResultIterator();
String lastUTF8Text;
float lastConfidence;
int count = 0;
iterator.begin();
do {
lastUTF8Text = iterator.getUTF8Text(PageIteratorLevel.RIL_WORD);
lastConfidence = iterator.confidence(PageIteratorLevel.RIL_WORD);
count++;
} while (iterator.next(PageIteratorLevel.RIL_WORD));