python-3.x - 使用 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