326Python 截图及图片识别
Posted alex_bn_lee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了326Python 截图及图片识别相关的知识,希望对你有一定的参考价值。
参考:Python人工智能之图片识别,Python3一行代码实现图片文字识别
参考:Python实现截图
参考:Python编写屏幕截图程序方法(clipboard)
一、定位截图
安装库:pillow(PIL 是 2.x 版本的,pillow 是 3.x 版本的)、pytesseract(需要修改配置)
代码实现:(全屏 - 对于双屏幕来说,只能截取主屏幕)
>>> from PIL import ImageGrab >>> pic = ImageGrab.grab() >>> pic.save(\'D:/tmp/4.jpg\')
代码实现:(全屏 - 通过 PrintScreen,可以实现两个屏幕截图,获取剪切板的图像)
from PIL import ImageGrab # 可以实现 printscreen 按键,获取全屏截图 pic = ImageGrab.grabclipboard() pic.save(r"D:\\tmp\\save.jpg")
代码实现:(按照范围截屏)
from PIL import ImageGrab # 输入屏幕左上角和右下角的坐标 pic = ImageGrab.grab(bbox=(0, 0, 100, 100)) pic.save(r"D:\\tmp\\4.jpg")
代码实现:(按照范围截屏,但是对于双屏幕,需要通过 printscreen 获取截图,再按照坐标点进行剪切)
from PIL import ImageGrab # 通过 printscreen 获取全屏截图 pic = ImageGrab.grabclipboard() pic_mini = pic.crop(box=(200,200,400,400)) pic_mini.save(r"D:\\tmp\\save_min.jpg")
二、图片识别
安装库:pillow(PIL 是 2.x 版本的,pillow 是 3.x 版本的)、pytesseract(需要修改配置)
安装软件:tesseract-ocr
代码:中文(修改 lang 为 eng,可以用来识别英文)
from PIL import Image import pytesseract #上面都是导包,只需要下面这一行就能实现图片文字识别,中文识别 text=pytesseract.image_to_string(Image.open(\'D:/tmp/1.jpg\'),lang=\'chi_sim\') print(text)
实现将截图直接进行识别,不需要存储~
from PIL import Image import pytesseract pic = ImageGrab.grab(bbox=(200,200,400,400)) text=pytesseract.image_to_string(pic, lang=\'chi_sim\') print(text)
三、获取 RGB 值
>>> from PIL import Image >>> lena = Image.open("D:\\\\Code\\\\Python\\\\test\\\\img\\\\lena.jpg") >>> lena_L =lena.convert("L") >>> lena_L_rgb =lena_L.convert("RGB") >>>lena.getpixel((0,0)) (197, 111, 78) >>>lena_L.getpixel((0,0)) 132 >>>lena_rgb.getpixel((0,0)) (132, 132, 132)
以上是关于326Python 截图及图片识别的主要内容,如果未能解决你的问题,请参考以下文章