问题标签 [hocr]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
757 浏览

python - 将 HOCR 输出转换为字符串(用于正则表达式)的策略是什么?

我正在使用 Pytesseract 并希望将 HOCR 输出转换为字符串。当然,这样的功能是在 Pytesseract 中实现的,但我想了解更多关于完成它的可能策略 thx

0 投票
0 回答
454 浏览

tesseract - hOCR 文件中 x_descenders 和 x_ascenders 的含义?

这是来自 Tesseract 4 输出(.hocr 文件)的行:

x_descendersx_ascenders属性是什么意思?

我知道在排版中,下降是“延伸到字体基线以下的字母部分”。但是在某些情况下 x_descenders 不是整数而是浮点数,例如 in x_descenders 5.2608695。那这意味着什么?

然后我想知道如何解释小数部分

0 投票
1 回答
353 浏览

tesseract - 从 tika-server 获取 hocr 输出

我正在使用 Apache TIKA Server 对 PDF 文件进行 OCR。

我对hOCR输出感兴趣,但只能成功获得纯文本格式的输出。

按照wiki代码,我正在尝试使用X-Tika-OCR...HTTP 标头配置 Tesseract。在这种情况下,我使用的是X-Tika-OCRoutputType: hocrHTTP 标头,但我得到了没有 HOCR 标记的纯文本输出或 html 输出。

我尝试了端点/tika/rmeta端点。

curl我使用的命令:

我还尝试将Accept标题设置为 text/plain、text/html text/xhtml 和 text/hocr。没有工作。最后一个出现错误。

我在用:

  • 阿帕奇蒂卡 1.22
  • 正方体 4.1.0-3.1.x86_64
  • 红帽 7
0 投票
0 回答
146 浏览

python-3.x - 如何在本地路径中转换和保存 Hocr 文件?如何解决以下功能中的错误?

我在以下函数中意外缩进。

0 投票
0 回答
189 浏览

python-3.x - BS4 搜索和替换'src' 和 'style' 属性

我一直在尝试<img>使用从第二个 html 文件中获得的信息来搜索和替换 html 文件中的某些属性。我lxml从 BeautifulSoup 使用,但我显然做错了什么,无法弄清楚是什么。

我尝试了三个不同的版本。未注释的至少不会抛出错误,但生成的 html 文件不变。我猜它没有对汤进行更改?

帮助或只是一些指针将不胜感激。

编辑:感谢@Tserenjamts,我意识到代码正确地修改了html,而不是更改原始代码,而是在其后附加了新版本。我可以忍受,以防万一(在不同的文件上写入或在写入之前擦除原件),但感觉出乎意料。我错过了什么?我应该使用replace而不是直接分配这个 SO 答案中的新值吗?

我的代码:

“ver1.html”文件的示例:

和 ver1.html 文件:

0 投票
0 回答
426 浏览

azure - 从 Microsoft 计算机视觉 OCR 生成 hOCR

我正在使用 Microsoft Read API 从本地图像中获取 OCR 数据。我的脚本基于本教程:https ://docs.microsoft.com/en-us/azure/cognitive-services/computer-vision/quickstarts/python-hand-text?tabs=version-2 。

虽然我可以获取 JSON 格式的 OCR 数据,但我想将输出作为 hOCR。我找到了这个资源:https ://docs.microsoft.com/en-us/samples/azure-samples/azure-search-power-skills/azure-hocr-generator-sample/ 。我不清楚如何在教程中的 Python 脚本中实现这一点。

有人知道如何将 JSON 输出转换为 hOCR 吗?

0 投票
1 回答
153 浏览

ocr - PDFMiner 未检测到所有页面

我正在尝试从 pdf 中提取文本,但我遇到了错误,因为我的脚本有时会检测到 pdf 的每一页,有时只检测到 pdf 的第一页。我什至在 stackoverflow 上的一篇文章中包含了这一行。

每当我的脚本只提取第一页时,该脚本只检测到一页。

我什至尝试过另一个库(PyPDF2)来提取文本,但结果更糟。

如果我查找我的脚本处理不当的 pdf 的属性,Adobe 会在 pdf 的属性中清楚地显示正确的页数。

下面是我正在使用的代码。任何有关如何更改脚本以检测 pdf 的所有页面的建议将不胜感激。

0 投票
1 回答
583 浏览

ocr - 检测图像中的粗体(和斜体)文本

我想检测页面图像中的粗体(可能还有斜体)文本——想想 TIFF 或图像 PDF。我需要指向任何这样做的开源软件的指针。

这是一个字典条目的图片(来自 Tzeltal--西班牙语词典),说明了这样的文本:

在此处输入图像描述

第一行是粗体,然后是斜体,然后是“正常”;第二个有几个粗体字,然后是几个正常字体。格式表示隐式结构:粗体表示词条,斜体表示词性,正常表示大多数其他内容。如果不知道什么是粗体/斜体/正常,就不可能将这些条目解析为结构化文本(如 XML)。

几年前,当我们的字典解析项目处于活动状态时,我们使用 Tesseract 版本 3 对图像进行 OCR,并使用 hocr 输出为我们提供页面上的位置信息(例如,分离字典中的不同条目至关重要)。hocr 输出还包括用于粗体的标签“strong”和用于斜体的“em”。虽然“em”标签相当准确,但“strong”标签几乎是随机的。现在,Tesseract 的第 4 版甚至都没有尝试过(另请参阅)。您仍然可以告诉 tesseract 使用旧引擎,但正如我所说,这似乎完全不准确,至少在我们提供给它的文本上。

区分粗体和普通文本似乎并不难。即使在那个距离我看不懂文字,我也可以站在离显示器很远的地方,挑选出粗体和非粗体。(我想判断整个文本是粗体还是非粗体会更难,但是当两者都出现时区分它们似乎很容易——对于人类来说。)

有人告诉我,ABBYY FineReader 输出字体样式信息,但由于各种原因,这对我们的应用程序不起作用。

如果有一种区分粗体和非粗体文本的非 OCR 方式,可以在粗体文本周围放置边界框,我们可能会将这些延伸与 Tesseract 输出的字符/单词的边界框匹配(允许一些像素差)。我知道几十年前(也在这里)对此进行了研究,但是有没有真正做到这一点的开源软件?

0 投票
0 回答
29 浏览

tesseract - 如何编辑“hocr”文件的文本并保存更正的文本

我已经构建了从 pdf 中提取文本的程序,但有时它不会提取文本,所以我必须手动编辑文本文件,请告诉我如何“实时”更正 hocr 文件,这样我可以节省更多时间. 并告诉我哪些工具对 Web 开发有帮助

0 投票
1 回答
51 浏览

ocr - 将 Google Cloud Vision OCR X 和 Y 坐标转换为 bbox 坐标

Google Cloud Vision OCR 具有以下边界框对象的输出。

边界框所需的输出格式

我想继续将这些坐标转换为边界框坐标,以我的 hOCR 格式编写它们。其中包括以下格式,用于在文件中写入这些格式。

问题?

  • 那么如何将这些 x 和 y 坐标转换为这些 bbox(边界框坐标)。
  • 这些是什么xy坐标是 ( x_min, y_max) 或 ( x_max, y_min)。一般来说,我还想知道这些 x 和 y 代表什么?

处理图像

我正在处理以下图像作为我的测试。

测试图像