python截屏图片识别点击,用python实现截屏识别其中的文字
大家好,欢迎来到 Crossin的编程教室 !
你一定用过那种“OCR神器”,可以把图片中的文字提取出来,极大的提高工作效率。
今天,我们就来做一款实时截图识别的小工具。顾名思义,运行程序时,可以实时的把你截出来的图片中的文字识别出来。
下次,当你想要复制“百度文库”中的内容时,不妨试试这个程序。
效果预览
源码解析1)等待用户截图此处需要借助贴图神器(Snipaste)其中“f1”是截图的快捷键,“ctrl+c”是把截图保存到剪贴板的快捷键。如果使用qq截图的话,需要把快捷键改为对应的“ctrl+alt+c”和“enter”顺便安利一波Snipaste,
必备效率神器import keyboard
# 利用截图软件(Snipaste)截图到剪贴板
# 输入键盘的触发事件
keyboard.wait(hotkey="f1")
keyboard.wait(hotkey="ctrl+c")
time.sleep(0.1)上面这段代码执行之后,现在已经有一张图片等待在剪贴板里了。说明:这里的 keyboard.wait 是为了让程序等待用户进行截屏操作。如果在你的系统上无法识别组合键,你也可以自定义一个按键(比如 keyboard.wait(hotkey="q") )作为通知程序完成截屏的确认。
2)保存截图利用PIL模块的ImageGrab,可以把剪贴板里的那张图片,保存到当前的目录下,并命名为“screen.png”from PIL import ImageGrab
# 把图片从剪切板保存到当前路径
image = ImageGrab.grabclipboard()
image.save("screen.png")3)识别截图中的文本法一pytesseract模块优点:免费,易用缺点:识别效果很一般,准确率不高使用方法介绍:1) 安装 pytesseract 库pip install pytesseract2) 安装 tesseract-ocr.exe 配置环境变量3) 修改pytesseract.py文件,将tesseract_cmd指向Tesseract-OCR的tesseract.exe的绝对路径。安装配置完成后,在代码中执行:import pytesseract
from PIL import Image
# 法一:利用pytesseract模块
# 参数一:图片
# 参数二:简体中文
text = pytesseract.image_to_string(Image.open("screen.png"), lang='chi_sim')
print(text)来看看效果:low的不行……(对于简单的标准字体还能凑合)要想精度高,还得想别的办法。
法二百度API接口AI开放平台文档中心https://ai.baidu.com/ai-doc查看python语言的SDK文档点击右上角(控制台),登录自己的百度账号,创建“文字识别”的应用这里我们使用百度的AI库来简化调用。需安装:pip install baidu_aipimport pytesseract
from aip import AipOcr
from PIL import ImageGrab
# 法二:利用百度API
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
# 读取图片
with open("screen.png", 'rb') as f:
image = f.read()
# 调用百度API通用文字识别(高精度版),提取图片中的内容
text = client.basicAccurate(image)
result = text["words_result"]
for i in result:
print(i["words"])结果如文章首图:
我是总结
代码步骤:1)等待用户截图2)保存截图到当前目录3)识别截图中的文本其中识别截图文本,有两种方法:
1)利用 pytesseract 模块
2)利用百度API接口
参考代码地址:https://github.com/wwtm/gitpython_examples/blob/master/实时截图识别OCR/gp_ocr_picture.py
作者:GitPython
来源:GitPython
_往期文章推荐_
python截屏图片识别点击,用python实现截屏识别其中的文字相关推荐
- python pdf删除图片_【原创】python批量删除pdf图片水印(Xobject)的一种方法
1.说明: 下载到的pdf总会有一些水印,pdf文件水印添加方式除了acrobat adobe自带的以外,还有很多,所以去除水印方法也很多,这里介绍的也只是一种适用python批量删除图片水印Xobj ...
- python把一堆图片分成n份,用Python一键生成炫酷九宫格图片,火了朋友圈
原标题:用Python一键生成炫酷九宫格图片,火了朋友圈 作为一个男同胞来说,为了给女朋友拍一张美美的照片,着实需要花费很大的时间和精力,不仅仅需要从众多的图片中精心挑选,而且还需要有着超强的图片精修 ...
- python怎么把图片变成字符_用Python把图片变成字符画
更新!项目最新地址链接:click me 我们先来看一下效果(图为知乎的吉祥物:刘看山) 原画 字符画(由于图片较大,所以截图的时候未截完整:P) 代码在此,简单讲解请看代码的注释部分,部分详解在代码 ...
- python批量resize图片大小_如何用Python智能批量压缩图片?
本文一步步为你介绍,如何用Python自动判断多张图片中哪些超出阈值需要压缩,且保持宽高比.如果你想了解Python图像处理的基础知识,欢迎动手来尝试. 痛点 我喜欢用Markdown写文稿,然后发布 ...
- python opencv显示图片一闪而过_解决Opencv+Python cv2.imshow闪退问题
Opencv+Python cv2.imshow闪退 # 读入原始图像 origineImage = cv2.imread('./pic/6.jpeg') # 图像灰度化 # image = cv2. ...
- python风格变换图片_【人工智能】python图片风格迁移,来欣赏梵高风格的石原里美吧!...
图像的风格迁移,心心念念好久了啊! 简单几个步骤,就可以转换图片风格啦. 1. 在github下载模型,模型后缀名是 t7,新建 model 文件夹用来存放模型 2. 新建 fengge.py 文件, ...
- python邮件的图片放在哪里_用python保存电子邮件中的嵌入图像
我试图在一个嵌入的电子邮件中抓取图像.问题是我保存的图像不可读,我不知道为什么. 电子邮件(保存为我在代码开头加载的文件):MIME-Version: 1.0 Received: by 10.100. ...
- python如何移动图片_Pygame的图像移动|python基础教程|python入门|python教程
图像移动 一.基本使用 1.创建一个游戏窗口出来,加载一张图片,使用上下左右按键使得图像移动. 代码如下: # coding:utf8 import pygame.constants import s ...
- python外星人入侵游戏图片_外星人入侵,使用python开发的2D游戏
开学自学的python,通过敲代码练习的项目<外星人入侵>. 游戏介绍:游戏在玩家每消灭一群向下移动的外星人后,都将玩家的等级提高一个等级:而等级越高,游戏的节奏越快,难度越大 我使用的是 ...
最新文章
- 最基本的弹出窗口代码
- Linux虚拟内存管理(glibc)
- android实现滑动切换图,Android:使用ViewPager实现左右滑动切换图片加点点
- 【Java】函数式接口与Lambda表达式
- OpenGL ES渲染管线与着色器
- 1、Redhat GNOME安装访问命令行
- PHP开发入行真功夫(含DVD光盘1张)
- pip;python包管理工具
- linux vim替换指定字符串
- mysql编写触发器语法_mysql触发器语法
- VMWare共享文件夹的使用
- ssm基于web的教务管理系统毕业设计源码261620
- dr.oracle黑钻面膜,dr.diamond是什么牌子?dr.diamond钻石面膜怎么样?
- android 键盘自适应,Android输入框布局如何随键盘变化
- 树莓派mongodb实战
- 棋牌游戏服务器开发心得
- 电脑打死都连不上手机热点问题
- Linux进程管理工具_Supervisor的安装与配置
- 李笑来 -把时间当作朋友
- App渠道统计基础知识:App推广运营人员必备
热门文章
- 三角形形态判断 循环计算e Python123题解
- 计算机毕业设计springboot蛋糕网店
- linux下不卸载nginx安装第三方模块
- python小游戏毕设 塔防小游戏设计与实现 (源码)
- drop table可以删除多张表吗_python全球疫情分析,告诉你海外疫情到底有多严峻 | 附290行代码...
- 七步 JDBC连接数据库
- 基于 Python 的图书借阅管理系统(附报告源码)
- 人的核心竞争力,超过一半都来自不紧急的事
- MFC 右键删除List Contrl控件行
- 【24】processing-立体(中文)