使用 Python3 Pytesseract 进行实时屏幕监控
Posted
技术标签:
【中文标题】使用 Python3 Pytesseract 进行实时屏幕监控【英文标题】:Live Screen Monitoring With Python3 Pytesseract 【发布时间】:2019-07-14 16:05:00 【问题描述】:我正在 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 似乎只适用于图像”?屏幕抓取肯定是图像吗?也许您正在寻找的图像会有所帮助... 抱歉这个令人困惑的问题,我使用 python 才两个多月,我只知道基础知识。你的意思是像屏幕抓取的屏幕截图? 任何澄清问题的东西都会有所帮助 - 谢谢。 是不是有点不那么混乱了? 我不确定我是否理解问题所在。不如把截取的屏幕传给tesseract
,看看能不能识别上面的测试?
【参考方案1】:
我对@987654323@ 知之甚少,但这可能会让您入门:
#!/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
【讨论】:
谢谢!通过一些简单的调整来适应我的项目,这将是完美的! 酷 - 祝你好运!可能有更好的示例和实践,尝试将带有方括号的[pytesseract]
放入 *** 的 Search 框中,看看其他人也如何使用它。
谢谢,我会调查的。以上是关于使用 Python3 Pytesseract 进行实时屏幕监控的主要内容,如果未能解决你的问题,请参考以下文章
[python] python3.6 安装 pytesseract 出错
Python3.x:pytesseract识别率提高(样本训练)
python3.5配置pillow,pytesseract与selenium
TypeError:需要一个类似字节的对象,而不是 python 3.5.2 和 pytesseract 中的“str”