使用 Python3 Pytesseract 进行实时屏幕监控
Live Screen Monitoring With Python3 Pytesseract
我正在 windows 10 上进行一个 python3 项目,我想知道是否有人知道通过 pytesseract 传递 opencv 屏幕抓取?如果没有,是否还有其他可用的 OCR?
这里是opencv屏幕抓取的代码:
import numpy as np
from PIL import ImageGrab
import cv2
while True:
screen = np.array(ImageGrab.grab(bbox=(0,40,800,640)))
cv2.imshow('window', cv2.cvtColor(screen, cv2.COLOR_BGR2GRAY))
if cv2.waitKey(25) & 0xFF == ord('q'):
cv2.destroyAllWindows()
我对 pytesseract
知之甚少,但这可能会让你入门:
#!/usr/bin/env python3
import numpy as np
from PIL import ImageGrab
import pytesseract
from PIL import Image, ImageEnhance, ImageFilter
from textblob import TextBlob
# Grab some screen
screen = ImageGrab.grab(bbox=(0,0,800,640))
# Make greyscale
w = screen.convert('L')
# Save so we can see what we grabbed
w.save('grabbed.png')
text = pytesseract.image_to_string(w)
correctedText = TextBlob(text).correct()
print(correctedText)
来自这次抓取:
我得到了:
@ Terminal Shell Edit View Window Help
The writing is on the wall
我正在 windows 10 上进行一个 python3 项目,我想知道是否有人知道通过 pytesseract 传递 opencv 屏幕抓取?如果没有,是否还有其他可用的 OCR?
这里是opencv屏幕抓取的代码:
import numpy as np
from PIL import ImageGrab
import cv2
while True:
screen = np.array(ImageGrab.grab(bbox=(0,40,800,640)))
cv2.imshow('window', cv2.cvtColor(screen, cv2.COLOR_BGR2GRAY))
if cv2.waitKey(25) & 0xFF == ord('q'):
cv2.destroyAllWindows()
我对 pytesseract
知之甚少,但这可能会让你入门:
#!/usr/bin/env python3
import numpy as np
from PIL import ImageGrab
import pytesseract
from PIL import Image, ImageEnhance, ImageFilter
from textblob import TextBlob
# Grab some screen
screen = ImageGrab.grab(bbox=(0,0,800,640))
# Make greyscale
w = screen.convert('L')
# Save so we can see what we grabbed
w.save('grabbed.png')
text = pytesseract.image_to_string(w)
correctedText = TextBlob(text).correct()
print(correctedText)
来自这次抓取:
我得到了:
@ Terminal Shell Edit View Window Help
The writing is on the wall