用于屏幕文本的 OCR(光学字符识别)
Posted
技术标签:
【中文标题】用于屏幕文本的 OCR(光学字符识别)【英文标题】:OCR (Optical Character Recognition) for on-screen text 【发布时间】:2010-10-28 03:05:50 【问题描述】:我正在尝试创建一个软件,通过捕获屏幕截图来自动化 PC,然后 OCR(光学字符识别)它会寻找一个特定的按钮来点击(例如)。我有鼠标和键盘控制部分,但现在,我需要一个 OCR 来处理屏幕截图。我发现 Tesseract OCR 似乎不能很好地处理屏幕上的文本。文本太小,或者某些文本似乎是连接的,例如 K 和 X。我应该如何处理?
p/s:这是一个自动化测试程序。
【问题讨论】:
你能在测试机器上增加文本大小并调整字体吗? 你到底想测试什么?如果它是一个简单的测试程序,您可以使用 SendMessage 和 GetWndText 查询 Windows 以搜索您喜欢的按钮和控件。为什么要忙于 OCR? 我可以调大文本大小,但是应用程序内部的某些字体如果不修改代码就无法调大。 【参考方案1】:我不确定这是否真的适合您,但我在自动化领域看到的一些更好的 OCR 是由 Tevron 的 CitraTest 完成的。它包含一个字体库,如果字体集不存在,他们将根据您提交的内容创建一个新字体。此工具的不利因素是成本以及与可变屏幕分辨率相关的常见问题。
【讨论】:
【参考方案2】:也许在 OCR 之前查看 this question 上的图像增强。 否则这个问题与"OCR for .NET" 非常相似。
如果您真的很大胆,您可以随时提出一个简单的基于感知器或神经网络的方法 :-)
【讨论】:
以上是关于用于屏幕文本的 OCR(光学字符识别)的主要内容,如果未能解决你的问题,请参考以下文章