我知道Python的OCR问题已经多次讨论过了。 但是我没有找到任何似乎可以帮助我解决这个问题的东西 Python Tesseract OCR question。 但它并没有解决我的问题。
我需要制作一个小脚本来捕获打开的窗口(文本编辑器)中的文本。
所以它应该:
我是Python的新手,如果可行,我不知道。
然而,事先感谢任何提示。
乔治
答案 0 :(得分:2)
这当然是可能的,但一般来说,也是不合理的。有更好的方法。假设您正在解析网页,您可以抓取HTML文本而不通过OCR运行它,或者如果您想要读取图像文本,您可以使用urllib2解析HTML,选择图像并直接下载图像到一个文件。 Python中有许多HTML解析器替代品,您也可以使用它们。使用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."