博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【326】PIL 截图及图片识别
阅读量:6254 次
发布时间:2019-06-22

本文共 1510 字,大约阅读时间需要 5 分钟。

参考:

参考:

参考:

参考:

参考:

参考:

参考:

参考:

参考:


一、定位截图

安装库: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 Imageimport pytesseract#上面都是导包,只需要下面这一行就能实现图片文字识别,中文识别text=pytesseract.image_to_string(Image.open('D:/tmp/1.jpg'),lang='chi_sim')print(text)

  实现将截图直接进行识别,不需要存储~

from PIL import Imageimport pytesseractpic = 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)

 

转载于:https://www.cnblogs.com/alex-bn-lee/p/9218772.html

你可能感兴趣的文章
论坛程序推荐,区别
查看>>
spring mvc redirect 重定向 跳转并传递参数
查看>>
《止学》 [隋]文中子(王通)
查看>>
微信小程序之底部弹框预约插件
查看>>
基础知识 - Golang 中的正则表达式
查看>>
分享一个shell脚本的坑:grep匹配+wc取值 在脚本执行后的结果与手动执行结果不一致...
查看>>
【Clojure 基本知识】 关于函数参数的各种高级用法
查看>>
顺序图【6】--☆☆
查看>>
Docker 版本
查看>>
【ABP杂烩】面向切面编程(AOP)知识总结
查看>>
java 如何使用多线程调用类的静态方法?
查看>>
不能运行VS2005的DSL Tool例子
查看>>
OSI/RM参考模型和TCP/IP协议的关系
查看>>
Android Intent用法汇总
查看>>
使用PIP扩展BTARN
查看>>
GetLastError()返回值及含义
查看>>
android UI之Shape详解_GradientDrawable
查看>>
Oracle Management Server配置
查看>>
O/R Mapping实际开发经验之谈(转)
查看>>
SPSS Clementine 数据挖掘入门 (3)
查看>>