11

在 tesseract 中使用 GetHOCRText(0) 方法,我能够检索 html 中的文本,并在 webview 中呈现 html 时,我可以获得文本,但图像中文本的位置与输出不同。任何想法都非常有帮助。

 tesseract->SetInputName("word");
tesseract->SetOutputName("xyz");
tesseract->Recognize(NULL);


char *utf8Text=tesseract->GetHOCRText(0);

这是我用于 tesseract 的图像

并输出图像在此处输入图像描述

4

2 回答 2

3

如果您有 hocr 输出,则每个单词都应该有一个标签。这些标签应该有 class="ocrx_word" 和 name="bbox x1 y1 x2 y2" 其中 x 和 y 是单词周围边界框的左上角和右下角。我认为不可能自动使用这些信息来格式化文本文档——需要将像素差异转换为制表符/空格的数量。但是,您应该能够在给定位置呈现文本。

于 2013-07-05T14:50:56.673 回答
1

GetBoxText()方法将返回数组中每个字符的确切位置。

char *boxtext = _tesseract->GetBoxText(0);
NSString* aBoxText = [NSString stringWithUTF8String:boxtext];
于 2013-04-29T12:19:36.523 回答