使用PIL ImageGrab和PyTesseract的Python

使用PIL ImageGrab和PyTesseract的Python

ImageGrab和PyTesseract

ImageGrab是一个帮助捕捉屏幕内容的Python模块。PyTesseract是一个用于Python的光学字符识别(OCR)工具。它们一起可以用来读取屏幕的某一部分的内容。

安装–

Pillow (a newer version of PIL)

pip install Pillow

PyTesseract

pip install pytesseract

除此以外,还需要安装一个魔方的可执行文件。

代码的实现

pytesseract.image_to_string(image, lang=**language**) – 取出图像并在其文本中搜索该语言的单词。

cv2.cvtColor(image, **colour conversion**) 用于使图像变成单色(使用cv2.COLOR_BGR2GRAY)。

ImageGrab.grab(bbox=**Coordinates of the area of the screen to be captured**) 用于重复(使用一个循环)捕获屏幕的特定部分。

该守则的目标是:

  1. 使用一个循环来重复捕捉屏幕的某一部分。
  2. 将捕获的图像转换成灰度。
  3. 使用PyTesseract来读取其中的文字。

代码: 使用ImageGrab和PyTesseract的Python代码

# cv2.cvtColor takes a numpy ndarray as an argument
import numpy as nm

import pytesseract

# importing OpenCV
import cv2

from PIL import ImageGrab


def imToString():

    # Path of tesseract executable
    pytesseract.pytesseract.tesseract_cmd ='**Path to tesseract executable**'
    while(True):

        # ImageGrab-To capture the screen image in a loop.
        # Bbox used to capture a specific area.
        cap = ImageGrab.grab(bbox =(700, 300, 1400, 900))

        # Converted the image to monochrome for it to be easily
        # read by the OCR and obtained the output String.
        tesstr = pytesseract.image_to_string(
                cv2.cvtColor(nm.array(cap), cv2.COLOR_BGR2GRAY),
                lang ='eng')
        print(tesstr)

# Calling the function
imToString()

输出

使用PIL ImageGrab和PyTesseract的Python

上述代码可用于捕获屏幕的某一部分并读取其中的文本内容。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程