糟糕的tesseract屏幕截图识别结果

时间:2018-10-23 16:16:49

标签: python windows ocr screen-scraping

我正在尝试PyTesseract识别从其他程序捕获的文本。结果出奇地糟糕。我认为这是一个简单的问题,因为20年前扫描文档的识别能力还不错。

例如enter image description here,我得到了

"win32¢gui.EnumWindows(enum_cb, toplist)

winInfos = [(hwnd, title) for hwnd, title in winlist if
print("™sd process(es) found" % Len(winInfos))

wininfo = winInfos[@]

hwnd = wininfo[@]

# w2 = win32gui.Findwindow(None, “"Chrome")

for i in range(10):


eel eee"

即使不进行缩放以及使用不同的背景和文本颜色,效果也会更差。

我不需要完美的解决方案(这是实验项目),但至少需要足够的东西。我对如何实现/修复此问题的方法没有太多限制。仅限于Windows和Python也非常可取。我或多或少地了解Python,并且在整体编程方面经验丰富,但是在文本识别方面还是新手。

Tesseract是我尝试的第一个库。我读到它是最好的之一。我已经知道它喜欢大字体(尽管对于屏幕快照来说,所有相同的符号总是看起来相同,我认为8像素的高度就足够了)。并请参见缩放和使所有背景和文本颜色相等,但还不够。我将要识别具有不同文本颜色以及可能是背景的表格内容,所以最好不要偶然发现此类内容。

我看到的解决方法:

  • 增加源程序中的字体以获得“真正的”高分辨率(不确定这是否会有所帮助),
  • 用我的字体训练Tesseract(快速搜索显示这非常无聊-包含20个步骤的指令或我没有的Python脚本),
  • 尝试其他库。

您能推荐什么?

谢谢

0 个答案:

没有答案