使用 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