Android 安卓Tesseract&;细锥虫OCR。读取单个框和字符

Android 安卓Tesseract&;细锥虫OCR。读取单个框和字符,android,ocr,tesseract,leptonica,Android,Ocr,Tesseract,Leptonica,我正在Android上使用Tesseract,我有以下代码来提取从图像读取的字符串和框: TessBaseAPI baseApi = new TessBaseAPI(); baseApi.init(tess_path, "eng"); baseApi.setImage(bitmap); String recognizedText = baseApi.getUTF8Text(); ArrayList<Rect> boxes = baseApi.getCharacters().getB

我正在Android上使用Tesseract,我有以下代码来提取从图像读取的字符串和框:

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();
TessBaseAPI=new-TessBaseAPI();
init(tess_路径,“eng”);
baseApi.setImage(位图);
字符串recognizedText=baseApi.getUTF8Text();
ArrayList Box=baseApi.getCharacters().getBoxRects();
Pixa Pixa=baseApi.getCharacters();
baseApi.end();
在这里,我可以看到文本和每个字符的框,但有时文本的大小与框数组的大小不同,因此不可能设置读取字符的框


有没有办法获得确切的框及其字符?

使用ResultIterator而不是
getCharacters()


请举个例子。您的问题很难理解。但是迭代器没有提供框(
Pixa
),您可以在其中调用
getBoxRects()
)。我注意到
getCharacters
在tess two中被弃用,但这是获取字符级框信息的唯一方法…您可以在迭代器上使用
getBoundingBox
getBoundingRect
。您好,我正在使用此项目,需要获取小文本(较大的文本正在扫描),从图像中准确地看到。我被困在这里。图像可能包含表格、空格或图像可能包含银行生成的票据等票据。我需要从票据中获取小文本。请尽快帮助我。提前谢谢。@Naveen如果您有具体问题,请创建一个关于StackOverflow的新问题,包括所有相关细节和示例图像。嗨,我不能问一个我不知道为什么的问题。我需要扫描小文本从硬拷贝(硬拷贝,如当前法案等…)通过使用这个项目。如何扫描较小的文本?请尽快帮助我。提前谢谢。
// 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));