Python文字截图识别OCR工具实例解析


Posted in Python onMarch 05, 2020

一、简介

你一定用过那种“OCR神器”,可以把图片中的文字提取出来,极大的提高工作效率。

今天,我们就来做一款实时截图识别的小工具。顾名思义,运行程序时,可以实时把你截出来的图片中的文字识别出来。

二、模块

import keyboard # 用于监控键盘按下,触发事件(pip install keyboard)
import time
from aip import AipOcr # 调用百度接口(pip install baidu-aip)
from PIL import ImageGrab # 用于保存屏幕截图

三、获取百度应用接口

AI开放平台文档中心

https://ai.baidu.com/ai-doc

Python文字截图识别OCR工具实例解析

查看python语言的SDK文档

Python文字截图识别OCR工具实例解析

点击右上角(控制台),登录自己的百度账号,创建“文字识别”的应用

Python文字截图识别OCR工具实例解析

Python文字截图识别OCR工具实例解析

四、代码实现

#! /usr/bin/env python3
# -*- coding:utf-8 -*-

# Author : MaYi
# Blog  : http://www.cnblogs.com/mayi0312/
# Date  : 2020-03-02
# Name  : test_ocr
# Software : PyCharm
# Note  : 用Python开发截图识别OCR小工具
import keyboard # 用于监控键盘按下,触发事件(pip install keyboard)
import time
from aip import AipOcr # 调用百度接口(pip install baidu-aip)
from PIL import ImageGrab # 用于保存屏幕截图


# 百度识别接口配置信息
APP_ID = '你的App ID'
API_KEY = '你的API Key'
SECRET_KEY = '你的Secret Key'

while True:
 # 1、利用QQ截图到剪贴板
 # 输入键盘的触发事件
 keyboard.wait(hotkey="ctrl+alt+a")
 keyboard.wait(hotkey="enter")
 time.sleep(0.1)

 # 2、保存截图
 image = ImageGrab.grabclipboard()
 image.save("screen.png")

 # 3、利用百度API识别截图中的文字
 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"])
 # 我是分隔线
 print("-" * 50)

运行结果预览:

Python文字截图识别OCR工具实例解析

五、总结

1)等待用户截图

2)保存截图到当前目录

3)识别截图中的文本

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python2.x利用commands模块执行Linux shell命令
Mar 11 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
Apr 11 Python
python+selenium实现京东自动登录及秒杀功能
Nov 18 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
Jan 29 Python
Python实现的质因式分解算法示例
May 03 Python
详解flask入门模板引擎
Jul 18 Python
Python内置random模块生成随机数的方法
May 31 Python
python多进程并行代码实例
Sep 30 Python
python定时任务 sched模块用法实例
Nov 04 Python
关于pandas的离散化,面元划分详解
Nov 22 Python
python palywright库基本使用
Jan 21 Python
详解Python牛顿插值法
May 11 Python
win10下opencv-python特定版本手动安装与pip自动安装教程
Mar 05 #Python
python+OpenCV实现图像拼接
Mar 05 #Python
windows下Pycharm安装opencv的多种方法
Mar 05 #Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
Mar 05 #Python
浅谈Python的方法解析顺序(MRO)
Mar 05 #Python
python环境下安装opencv库的方法
Mar 05 #Python
Python序列化pickle模块使用详解
Mar 05 #Python
You might like
使用php判断浏览器的类型和语言的函数代码
2013/02/28 PHP
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
php文件缓存方法总结
2016/03/16 PHP
PHP常用操作类之通信数据封装类的实现
2017/07/16 PHP
js过滤数组重复元素的方法
2010/09/05 Javascript
jQuery中add实现同时选择两个id对象
2010/10/22 Javascript
JavaScript实现GriwView单列全选(自写代码)
2013/05/13 Javascript
jQuery实现随意改变div任意属性的名称和值(部分原生js实现)
2013/05/28 Javascript
JavaScript限定复选框的选择个数示例代码
2013/08/25 Javascript
JQuery实现简单的图片滑动切换特效
2015/11/22 Javascript
通过js控制时间,一秒一秒自己动的实例
2017/10/25 Javascript
浅谈 Vue 项目优化的方法
2017/12/16 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
QRCode.js二维码生成并能长按识别
2018/10/16 Javascript
详解在Angular4中使用ng2-baidu-map的方法
2019/06/19 Javascript
微信公众号平台接口开发 菜单管理的实现
2019/08/14 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
[48:38]DOTA2亚洲邀请赛 3.31 小组赛 B组 Mineski vs Secret
2018/03/31 DOTA
[02:12]打造更好的电竞完美世界:完美盛典回顾篇
2018/12/19 DOTA
Python中input与raw_input 之间的比较
2017/08/20 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
django中嵌套的try-except实例
2020/05/21 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
python处理写入数据代码讲解
2020/10/22 Python
python中Pexpect的工作流程实例讲解
2021/03/02 Python
纯CSS3实现表单验证效果(非常不错)
2017/01/18 HTML / CSS
Canvas实现保存图片到本地的示例代码
2018/06/28 HTML / CSS
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
了解AppleTalk协议吗
2014/04/01 面试题
乡镇食品安全责任书
2014/07/28 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
趣味运动会加油词
2015/07/18 职场文书
《堡垒之夜》联动《刺客信条》 4月7日正式上线
2022/04/06 其他游戏
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL