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 相关文章推荐
Python操作Redis之设置key的过期时间实例代码
Jan 25 Python
Python实现通讯录功能
Feb 22 Python
python 把文件中的每一行以数组的元素放入数组中的方法
Apr 29 Python
Python 找到列表中满足某些条件的元素方法
Jun 26 Python
python3安装speech语音模块的方法
Dec 24 Python
python Pexpect 实现输密码 scp 拷贝的方法
Jan 03 Python
详解Python odoo中嵌入html简单的分页功能
May 29 Python
Python插入Elasticsearch操作方法解析
Jan 19 Python
基于Python获取照片的GPS位置信息
Jan 20 Python
给keras层命名,并提取中间层输出值,保存到文档的实例
May 23 Python
Python HTMLTestRunner如何下载生成报告
Sep 04 Python
Python使用pickle进行序列化和反序列化的示例代码
Sep 22 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打造属于自己的MVC框架
2012/03/07 PHP
PHP基于数组实现的分页函数实例
2014/08/20 PHP
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
php从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
2016/03/20 PHP
php版微信公众平台实现预约提交后发送email的方法
2016/09/26 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
多浏览器支持的右下角浮动窗口
2010/04/01 Javascript
使用Json比用string返回数据更友好,也更面向对象一些
2011/09/13 Javascript
js禁止document element对象选中文本实现代码
2013/03/21 Javascript
js 火狐下取本地路径实现思路
2013/04/02 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
JavaScript通过Date-Mask将日期转换成字符串的方法
2015/06/04 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
jQuery输入框密码的显示隐藏【代码分享】
2017/04/29 jQuery
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
Angular浏览器插件Batarang介绍及使用
2018/02/07 Javascript
浅谈Vuex注入Vue生命周期的过程
2019/05/20 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
详解基于Vue/React项目的移动端适配方案
2019/08/23 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
python检测服务器是否正常
2014/02/16 Python
解决Python的str强转int时遇到的问题
2018/04/09 Python
解决python中 f.write写入中文出错的问题
2018/10/31 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
python导入pandas具体步骤方法
2019/06/23 Python
Python经纬度坐标转换为距离及角度的实现
2020/11/01 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
清洁工岗位职责
2014/01/29 职场文书
初中生评语大全
2014/04/24 职场文书
开学典礼策划方案
2014/05/28 职场文书
2014年小学体育工作总结
2014/12/11 职场文书
中学教师个人总结
2015/02/10 职场文书
土建技术员岗位职责
2015/04/11 职场文书
springboot临时文件存储目录配置方式
2021/07/01 Java/Android