24

你会推荐什么来识别屏幕截图中的所有字符?屏幕截图非常清晰(只有白色背景上的黑色文本),我也可以为文本选择任何标准字体(安装在 Windows 上)。我尝试了一些 OCR 方法(Tesseract 等),但它在识别某些字符时出错(这让我感到困惑,因为文本没有丝毫噪音,而且字体是一些最常见的字体 - Courier New、Fixedsys 等),我需要它是 100% 准确的。是否有一些库可用于此特定目的,一些模式识别或其他什么?或者我应该得到一些等宽字体的屏幕截图,并遍历图像,向右移动 +font_size 像素,然后将捕获的东西与字母的内存表示和相同大小的相同字体的数量进行比较?解决这个问题的最佳方法是什么?非常感谢您提前。

更新:我终于通过使用等宽字体(Courier New)以我正在截屏的确切大小训练 Tesseract 来获得 100% 的准确度。希望对将来的人有所帮助:)

4

5 回答 5

14

由于这是 Google for 的第一个结果tesseract recognize screenshot,让我做一些死灵术并添加一个更简单的解决方案。

Tesseract 预计图像大约为 300 dpi 或更高,Windows 的标准 dpi 为 96。这意味着您需要将图像重新缩放到 300%。之后,结果显着改善。

100% 结果:
1x 比例
Whal would you recommend for recognizing all characters from a screensnor 7

200% 结果:
2 倍比例
What would you recommend for recognizing all chamcters from a screenth ?

300% 结果:
3 倍比例
What would you recommend for recognizing all characters from a screenshot ?

任何高于 300% 的值都同样有效。

于 2016-08-06T07:39:16.160 回答
1

如果 OCR 在如此高质量的输入上给出如此糟糕的结果,我会感到惊讶。可能你想要做的是选择一种边缘锐利的字体,没有抗锯齿,更大的字体也会有帮助。

此外,如果可以接受,请尝试使用此 SO 问题中给出的 OCR 字体:

这应该会给你最好的结果 - 如果这不是 100%,那么我不知道会发生什么......

不知道您在 Tesseract 旁边尝试了什么,但如果您不这样做,可能值得尝试其他一些。这些似乎是最近更新的(Tesseract 在一年前更新):

也有一些在线版本,例如:

可用于测试示例文档。从这个链接:

看来你可能需要去商业化才能得到你想要的东西。

希望这可以帮助。

于 2010-11-17T21:47:45.060 回答
1

我知道您已经解决了您的问题,但万一这对其他人有帮助:我在处理屏幕截图时发现的两个问题是 OCR 引擎对以下内容很敏感:(1)图像文件头中的分辨率设置不正确,以及(2)透明度问题(看起来像白色背景的东西实际上被标记为透明)。出于某种原因,这些问题往往会经常出现在屏幕截图中。

此外,除了 Tesseract,另一种可能性是在http://www.wisetrend.com/wisetrend_ocr_cloud.shtml上尝试基于 ABBYY OCR 引擎的 API。(优点是无需安装/配置/等来尝试它以确保它适用于您的图像 - 只需进行 HTTP POST)。免责声明:WiseTrend 是我公司的客户。

于 2010-12-01T01:08:22.597 回答
0

您是否可以选择在操作系统级别更改文本抗锯齿?使用这些设置(甚至尝试将其关闭)也可能会给您现有的 OCR 带来更好的结果。

于 2010-11-17T21:27:41.140 回答
0

您可以使用 Abby Fine Reader 12.0 从 PDF 和/或截图图像中提取文本,并将它们直接保存为您想要的文件格式。

透视:Abby Fine Reader 15 - 免费试用

于 2019-11-21T12:06:39.090 回答