2012-02-10 4 views
2

파이썬에 대한 OCR 질문은 이미 여러 번 논의 된 바 있습니다. 그러나 나는이 질문을 exc30 도와 줄 것으로 보이는 것을 찾지 못했습니다. Python Tesseract OCR question. 하지만 문제가 해결되지 않았습니다.스크린 샷을 찍어서 OCR 사용하기

(텍스트 편집기의) 열린 창 안에서 텍스트를 캡처하려면 약간의 스크립트를 작성해야합니다.

은 그래서해야합니다 (이 구절이 필요한 경우 몰라)

  1. 는 그레이 스케일과 그것을 전달하는
  2. 을 변환을 텍스트 편집기 윈도우의 위치를 ​​찾기 스크린 샷
  3. 을 가지고 스크린 샷 슬라이스 tesseract에

필자는 파이썬에게 좀 초보자이며 이것이 가능하다면 나는 몰라.

그러나 사전에 어떤 힌트를 주셔서 감사합니다.

조르지오

+4

에서 찍은 그러나 당신은 이미 텍스트가! 바로 텍스트 편집기에 있습니다! 왜 당신은 * 당신이 이미 가지고있는 텍스트를 얻기 위해 그렇게 길게 갈 것입니까? * – kindall

+0

예를 들어 텍스트 편집기 또는 다른 프로그램 일 수 있습니다. 나는 깔끔한 텍스트를 가지고 있음을 의미합니다. – KingBOB

답변

2

이 확실히 가능하지만, 일반적으로는 어렵다. 더 좋은 방법이 있습니다. 웹 페이지를 파싱하는 중이라면 OCR을 통해 실행하지 않고 HTML 텍스트를 가져 오거나 이미지의 텍스트를 읽으려는 경우 urllib2로 HTML을 구문 분석하고 이미지를 선택한 다음 이미지를 직접 다운로드하면됩니다. 파일로. Python에는 많은 HTML 파서 대안이 있으므로 사용할 수 있습니다. 그레이 스케일은 PIL 또는 ImageMagick을 사용하면 간단합니다. 거기에서 OCR을 통해 실행하거나 python-tesseract와 같은 Python 래퍼를 사용하여 스크립트 내에서 실행할 수 있습니다.

다른 방법으로는 스크린 샷을 고집하는 경우 유용 할 수 있습니다. 나는 여전히 거의 항상 더 나은 방법이 있다고 주장하지만, 시도하고 싶다면 시작해야합니다.

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." 

Take a screenshot via a python script. [Linux]

관련 문제