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 基础教程之Map使用方法
Jan 17 Python
Python 专题五 列表基础知识(二维list排序、获取下标和处理txt文本实例)
Mar 20 Python
python中利用队列asyncio.Queue进行通讯详解
Sep 10 Python
python 除法保留两位小数点的方法
Jul 16 Python
python爬虫之自动登录与验证码识别
Jun 15 Python
深入解析Python小白学习【操作列表】
Mar 23 Python
Django 在iframe里跳转顶层url的例子
Aug 21 Python
python + selenium 刷B站播放量的实例代码
Jun 12 Python
python os模块在系统管理中的应用
Jun 22 Python
python 用struct模块解决黏包问题
Nov 07 Python
Python快速实现一键抠图功能的全过程
Jun 29 Python
Python Django / Flask如何使用Elasticsearch
Apr 19 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/06/24 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
2019/10/15 PHP
CL vs ForZe BO5 第五场 2.13
2021/03/10 DOTA
javascript将数组插入到另一个数组中的代码
2013/01/10 Javascript
网页右键ie不支持event.preventDefault和event.returnValue (需要加window)
2013/02/22 Javascript
jQuery - css() 方法示例详解
2014/01/16 Javascript
原生js的弹出层且其内的窗口居中
2014/05/14 Javascript
使用JavaScript的AngularJS库编写hello world的方法
2015/06/23 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
2015/09/14 Javascript
用户代理字符串userAgent可实现的四个识别
2015/09/20 Javascript
jQueryUI DatePicker 添加时分秒
2016/06/04 Javascript
移动端翻页插件dropload.js(支持Zepto和jQuery)
2016/07/27 Javascript
js简单获取表单中单选按钮值的方法
2016/08/23 Javascript
jQuery实现动态给table赋值的方法示例
2017/07/04 jQuery
bootstrap table实现x-editable的行单元格编辑及解决数据Empty和支持多样式问题
2017/08/10 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
[47:21]Liquid vs TNC Supermajor 胜者组 BO3 第一场 6.4
2018/06/05 DOTA
[45:17]DOTA2-DPC中国联赛定级赛 Phoenix vs DLG BO3第三场 1月9日
2021/03/11 DOTA
Python中的变量和作用域详解
2016/07/13 Python
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
pytorch中tensor的合并与截取方法
2018/07/26 Python
使用K.function()调试keras操作
2020/06/17 Python
使用CSS3来匹配横屏竖屏的简单方法
2015/08/04 HTML / CSS
CSS3关于z-index不生效问题的解决
2020/02/19 HTML / CSS
BabyBjörn婴儿背带法国官网:BabyBjorn法国
2018/06/16 全球购物
英国最大的正宗复古足球衫制造商和零售商:TOFFS
2018/06/21 全球购物
职员竞岗演讲稿
2014/05/14 职场文书
四风对照检查材料范文
2014/09/27 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
2014幼儿教师个人工作总结
2014/12/03 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
物业保安辞职信
2015/05/12 职场文书
开天辟地观后感
2015/06/09 职场文书
学生安全责任协议书
2016/03/22 职场文书
Python爬虫数据的分类及json数据使用小结
2021/03/29 Python
如何利用Matlab制作一款真正的拼图小游戏
2021/05/11 Python