Tesseract 检测线

Posted

技术标签:

【中文标题】Tesseract 检测线【英文标题】:Tesseract detect lines 【发布时间】:2013-05-31 09:00:48 【问题描述】:

我正在开发 Objective-C 中的 OCR 应用程序。到目前为止,我的图像识别工作相当不错,但我有兴趣检测线条/行以获得可能更好更好的结果。

我的项目中有 tesseract 库和 leptonica 库。我查看了 tesseract 的 baseapi.h,我相信我正在寻找的是名为

的函数
    Boxa* GetTextlines(Pixa** pixa, int** blockids);

我不确定如何在我的项目中使用此功能,或者它是否是我寻求的正确功能。任何人都可以就此事提供任何见解吗?

谢谢!

【问题讨论】:

【参考方案1】:

检测页面元素(例如块、段落、行、单词等)的标准方法是使用 PageIterator 类。我不知道如何在 Objective-C 中做到这一点,但这里有一个 C++ 示例代码供参考:

tesseract::ResultIterator* ri = tess->GetIterator();
while (ri->Next(tesseract::RIL_LINE)) 
  // Do whatever you want with that line
  // Recognize line's text
  char* ctext = ri->GetUTF8Text(tesseract::RIL_LINE);
  // Get line's bounding box
  ri->BoundingBox(tesseract::RIL_WORD, &left, &top, &right, &bottom);

【讨论】:

以上是关于Tesseract 检测线的主要内容,如果未能解决你的问题,请参考以下文章

难以用 tesseract 检测数字

Tesseract hOCR:如何检测倒置?

Tesseract - 检测图像的小字体大小并转换为文本

使用 OpenCV 检测文本块以发送到 Tesseract iOS

提高 Tesseract 检测质量

文本的检测识别实战:使用 Tesseract 进行 OpenCV OCR 和文本识别