拍摄一张屏幕截图,并在上面使用OCR



我知道Python的OCR问题已经讨论过很多次了。然而,我没有发现任何能帮助我排除这个问题的东西Python Tesseract OCR问题。但这并没有解决我的问题。

我需要制作一个小脚本来捕捉(文本编辑器)打开的窗口中的文本。

所以它应该:

  1. 截屏
  2. 找到文本编辑器窗口的位置并截取屏幕截图(不知道是否需要这段话)
  3. 将其转换为灰度并传递给镶嵌

我是Python的新手,我不知道这是否可行。

不过,提前感谢您的任何提示。

Giorgio

这当然是可能的,但通常也是不合理的。有更好的方法。假设你正在解析一个网页,你可以在不通过OCR运行的情况下获取HTML文本,或者如果你想读取图像的文本,你可以使用urllib2解析HTML,选择图像,然后直接将图像下载到文件中。Python中也有许多HTML解析器的替代方案可供您使用。Greyscale使用PIL或ImageMagick非常简单。从那里,您可以通过OCR运行它,或者使用Python包装器(如Python tesseract)在脚本中运行它。

或者,如果你坚持做一个屏幕截图,这样的东西对你来说会很有用。我仍然认为,几乎总是有更好的方法,但如果你想尝试,这应该让你开始。

import gtk.gdk
w = gtk.gdk.get_default_root_window()
sz = w.get_size()
print "The size of the window is %d x %d" % sz
pb = gtk.gdk.Pixbuf(gtk.gdk.COLORSPACE_RGB,False,8,sz[0],sz[1])
pb = pb.get_from_drawable(w,w.get_colormap(),0,0,0,0,sz[0],sz[1])
if (pb != None):
    pb.save("screenshot.png","png")
    print "Screenshot saved to screenshot.png."
else:
    print "Unable to get the screenshot."

这是通过python脚本截取的截图。[Linux]

最新更新