大家好,欢迎来到 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实现截屏识别其中的文字相关推荐

  1. python pdf删除图片_【原创】python批量删除pdf图片水印(Xobject)的一种方法

    1.说明: 下载到的pdf总会有一些水印,pdf文件水印添加方式除了acrobat adobe自带的以外,还有很多,所以去除水印方法也很多,这里介绍的也只是一种适用python批量删除图片水印Xobj ...

  2. python把一堆图片分成n份,用Python一键生成炫酷九宫格图片,火了朋友圈

    原标题:用Python一键生成炫酷九宫格图片,火了朋友圈 作为一个男同胞来说,为了给女朋友拍一张美美的照片,着实需要花费很大的时间和精力,不仅仅需要从众多的图片中精心挑选,而且还需要有着超强的图片精修 ...

  3. python怎么把图片变成字符_用Python把图片变成字符画

    更新!项目最新地址链接:click me 我们先来看一下效果(图为知乎的吉祥物:刘看山) 原画 字符画(由于图片较大,所以截图的时候未截完整:P) 代码在此,简单讲解请看代码的注释部分,部分详解在代码 ...

  4. python批量resize图片大小_如何用Python智能批量压缩图片?

    本文一步步为你介绍,如何用Python自动判断多张图片中哪些超出阈值需要压缩,且保持宽高比.如果你想了解Python图像处理的基础知识,欢迎动手来尝试. 痛点 我喜欢用Markdown写文稿,然后发布 ...

  5. python opencv显示图片一闪而过_解决Opencv+Python cv2.imshow闪退问题

    Opencv+Python cv2.imshow闪退 # 读入原始图像 origineImage = cv2.imread('./pic/6.jpeg') # 图像灰度化 # image = cv2. ...

  6. python风格变换图片_【人工智能】python图片风格迁移,来欣赏梵高风格的石原里美吧!...

    图像的风格迁移,心心念念好久了啊! 简单几个步骤,就可以转换图片风格啦. 1. 在github下载模型,模型后缀名是 t7,新建 model 文件夹用来存放模型 2. 新建 fengge.py 文件, ...

  7. python邮件的图片放在哪里_用python保存电子邮件中的嵌入图像

    我试图在一个嵌入的电子邮件中抓取图像.问题是我保存的图像不可读,我不知道为什么. 电子邮件(保存为我在代码开头加载的文件):MIME-Version: 1.0 Received: by 10.100. ...

  8. python如何移动图片_Pygame的图像移动|python基础教程|python入门|python教程

    图像移动 一.基本使用 1.创建一个游戏窗口出来,加载一张图片,使用上下左右按键使得图像移动. 代码如下: # coding:utf8 import pygame.constants import s ...

  9. python外星人入侵游戏图片_外星人入侵,使用python开发的2D游戏

    开学自学的python,通过敲代码练习的项目<外星人入侵>. 游戏介绍:游戏在玩家每消灭一群向下移动的外星人后,都将玩家的等级提高一个等级:而等级越高,游戏的节奏越快,难度越大 我使用的是 ...

最新文章

  1. 最基本的弹出窗口代码
  2. Linux虚拟内存管理(glibc)
  3. android实现滑动切换图,Android:使用ViewPager实现左右滑动切换图片加点点
  4. 【Java】函数式接口与Lambda表达式
  5. OpenGL ES渲染管线与着色器
  6. 1、Redhat GNOME安装访问命令行
  7. PHP开发入行真功夫(含DVD光盘1张)
  8. pip;python包管理工具
  9. linux vim替换指定字符串
  10. mysql编写触发器语法_mysql触发器语法
  11. VMWare共享文件夹的使用
  12. ssm基于web的教务管理系统毕业设计源码261620
  13. dr.oracle黑钻面膜,dr.diamond是什么牌子?dr.diamond钻石面膜怎么样?
  14. android 键盘自适应,Android输入框布局如何随键盘变化
  15. 树莓派mongodb实战
  16. 棋牌游戏服务器开发心得
  17. 电脑打死都连不上手机热点问题
  18. Linux进程管理工具_Supervisor的安装与配置
  19. 李笑来 -把时间当作朋友
  20. App渠道统计基础知识:App推广运营人员必备

热门文章

  1. 三角形形态判断 循环计算e Python123题解
  2. 计算机毕业设计springboot蛋糕网店
  3. linux下不卸载nginx安装第三方模块
  4. python小游戏毕设 塔防小游戏设计与实现 (源码)
  5. drop table可以删除多张表吗_python全球疫情分析,告诉你海外疫情到底有多严峻 | 附290行代码...
  6. 七步 JDBC连接数据库
  7. 基于 Python 的图书借阅管理系统(附报告源码)
  8. 人的核心竞争力,超过一半都来自不紧急的事
  9. MFC 右键删除List Contrl控件行
  10. 【24】processing-立体(中文)