首页 > 解决方案 > 使用 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()

标签: python-3.xopencvocrpython-tesseract

解决方案


我对 知之甚少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

推荐阅读