参考:另一种用python识别图片文字的方法

参考:Python人工智能之图片识别,Python3一行代码实现图片文字识别

参考:Python3+Selenium3环境构建填坑之旅

参考:基于python的-PIL定位截图

参考:Python的PIL(图片截取)

参考:Python实现截图

参考:Python实现屏幕截图的两种方式

参考:python图像处理:pytesseract和PIL

参考: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 值

参考:如何用Python PIL获取图片的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)

【326】PIL 截图及图片识别的更多相关文章

  1. 【328】Python 控制鼠标/键盘+图片识别 综合应用

    本文是基于 [267]实现跨网络传数据 的基础上的,由于在弹出 putty 之后,需要手动输入命令(pass.sh.get.sh)来实现数据的传递,另外就是处理完之后需要手动关闭 putty,本文解决 ...

  2. python截图+百度ocr(图片识别)+ 百度翻译

    一直想用python做一个截图并自动翻译的工具,恰好最近有时间就在网上找了资料,根据资料以及自己的理解做了一个简单的截图翻译工具.整理一下并把代码放在github给大家参考.界面用python自带的G ...

  3. Python图片识别找坐标(appium通过识别图片点击坐标)

    ***如果只想了解图片相似度识别,直接看第一步即可 ***如果想了解appium根据图片识别点击坐标,需要看第一.二.三步   背景|在做UI测试时,发现iOS自定义的UI控件,appium识别不到. ...

  4. Python实现图片识别加翻译【高薪必学】

    Python使用百度AI接口实现图片识别加翻译 另外很多人在学习Python的过程中,往往因为没有好的教程或者没人指导从而导致自己容易放弃,为此我建了个Python交流.裙 :一久武其而而流一思(数字 ...

  5. 1个小时!从零制作一个! AI图片识别WEB应用!

    0 前言 近些年来,所谓的人工智能也就是AI. 在媒体的炒作下,变得神乎其神,但实际上,类似于图片识别的AI,其原理只不过是数学的应用. 线性代数,概率论,微积分(著名的反向传播算法). 大家觉得这些 ...

  6. WindowsAPI调用和OCR图片识别

    傻了吧唧的装双系统.成功的干崩了原本的系统.现在重装VS.闲的没事胡扯几句. WindowsAPI在每一台Windows系统上开放标准API供开发人员调用.功能齐全.在这里只介绍三个部分. 1.利用A ...

  7. Selenium&EmguCV实现爬虫图片识别

    概述 爬虫需要抓取网站价格,与一般抓取网页区别的是抓取内容是通过AJAX加载,并且价格是通过CSS背景图片显示的. 每一个数字对应一个样式,如'p_h57_5' .p_h57_5 { backgrou ...

  8. Python 3 实现色情图片识别

    Python 3 实现色情图片识别 项目简介 项目内容 本实验将使用 Python3 去识别图片是否为色情图片,我们会使用到 PIL 这个图片处理库,会编写算法来划分图像的皮肤区域. 项目知识点 Py ...

  9. python图片识别

    python 图像处理模块1. 安装 pytesseract模块是会自动安装Pillow模块.pillow 为标准图像处理库 手册地址 http://pillow-cn.readthedocs.io/ ...

随机推荐

  1. [转载]浏览器中输入url 并且按下回车之后发生了什么?

    解析URL 浏览器通过 URL 能够知道下面的信息: Protocol "http" 使用HTTP协议 Resource "/" 请求的资源是主页(index) ...

  2. java并发编程:线程安全管理类--原子包--java.util.concurrent.atomic

    java.util.concurrent.atomic 的描述 AtomicBoolean 可以用原子方式更新的 boolean 值. AtomicInteger 可以用原子方式更新的 int 值. ...

  3. 【转】MongoDB 3.0 正式版本即将发布,强力推荐

    MongoDB 今天宣布3.0 正式版本即将发布.这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大.灵活而且易于管理的数据库管理系统. MongoDB 3.0 在性能和伸缩性方面都有 ...

  4. Linux C 数据结构 ->单向链表<-(~千金散尽还复来~)

    之前看到一篇单向链表的博文,代码也看着很舒服,于是乎记录下来,留给自己~,循序渐进,慢慢 延伸到真正的内核链表~(敢问路在何方?路在脚下~) 1. 简介 链表是Linux 内核中最简单,最普通的数据结 ...

  5. Jenkins部署war包到tomcat7,报错

    1.部署tomcat7,报错,信息如下: [JENKINS] Archiving /opt/.jenkins/jobs/qxpt_jx-deploy/workspace/pom.xml to com. ...

  6. PyalgoTrade 交易(五)

    我们继续采取简单的策略,这次模拟实际交易.这个想法很简单: 如果调整后的收盘价高于SMA(15),我们将进入多头仓位(我们下单买入市价). 如果调整后的收盘价低于SMA(15),我们退出多头头寸(我们 ...

  7. CI框架------codeIgniter

    之前学习了thinkphp,学完之后印象不太深刻,在网上询问了一下,他们都说多学几个框架,以后可以自己写框架. 于是自己就放下thinkphp,下定决心再学一个,于是又从网上看了几个框架,综合比较了一 ...

  8. CF1082E:E.increasing Frequency(贪心&最大连续和)

    You are given array a a of length n n . You can choose one segment [l,r] [l,r] (1≤l≤r≤n 1≤l≤r≤n ) an ...

  9. HDU1502 Regular Words DP+大数

    要是c语言可以和java一样写大数就好了,或者我会写重载就好了,最后还是只能暴力一把. 开始写的记忆化搜索,然而n=10就超过LL了 #include<cstdio> #include&l ...

  10. 从event loop规范探究javaScript异步及浏览器更新渲染时机

    异步的思考 event loops隐藏得比较深,很多人对它很陌生.但提起异步,相信每个人都知道.异步背后的“靠山”就是event loops.这里的异步准确的说应该叫浏览器的event loops或者 ...