Python文字截图识别OCR工具实例解析
作者:骑着螞蟻流浪 发布时间:2021-07-02 12:58:20
标签:Python,识别,OCR,工具
一、简介
你一定用过那种“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语言的SDK文档
点击右上角(控制台),登录自己的百度账号,创建“文字识别”的应用
四、代码实现
#! /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)
运行结果预览:
五、总结
1)等待用户截图
2)保存截图到当前目录
3)识别截图中的文本
来源:https://www.cnblogs.com/mayi0312/p/12395336.html


猜你喜欢
- 插值主要用于物理学数学中,逼近某一确定值的方法(1)插值是通过已知的离散数据求未知数据的方法。(2)与拟合不同,插值要求曲线通过所有的已知数
- 如:获得 2015-03-01 日的前7天的日期 : select date_sub('2015-03-01',interv
- 安装request库以火车的站站查询为例的post和get方法的接口测试使用pytest测试接口1、requests的请求机制1、安装req
- 在transactional replication, 经常会遇到数据同步延迟的情况。有时候这些延迟是由于在publication中执行了一
- 今年国庆节也是中秋节,首先祝大家节日快乐,本文我们使用 Python 来给自己的头像加一个小国旗或小月饼。国旗对于国旗,我们可以使用 Pyt
- 为了让大家更好的对python中WSGI有更好的理解,我们先从最简单的认识WSGI着手,然后介绍一下WSGI几个经常使用到的接口,了解基本的
- 如下所示:import cv2fps = 16 size = (width,height) videowriter = cv2.VideoW
- 话说这能难倒我吗?赶赶单单~来 ,开搞!一、准备工作用到的软件准备一哈Python 3.8Pycharm 2021.2知识点Python基础
- 问题在使用MySQL数据库的时候,经常会遇到这么一个问题,就是“Can not connect to MySQL server. Too m
- 1 什么是K8ssandraCassandra是一款非常优秀的开源的分布式NoSQL数据库,被许多优秀的大公司采用,具有高可用、弹性扩展、性
- 1. show variables like '%profiling%';(查看profiling信息) &nbs
- 本文实例为大家分享了Python银行系统的具体代码,供大家参考,具体内容如下import timeimport randomimport p
- <% '#######以下是一个类文件,下面的注解是调用类的方法#########################
- 目录1)Golang字符串包含功能[区分大小写]2)Golang ContainsAny()[区分大小写]3)Golang Count()
- 关于怎么获得,我想其实网上有很多答案。list.index( )获得值的索引值,但是如果list中含有的值一样,例如含有两个11,22,这样
- PHP echo() 函数实例输出一些文本:<?php echo "Hello world!"; ?>定义和
- PDOStatement::bindColumnPDOStatement::bindColumn — 绑定一列到一个 PHP 变量(PHP
- 在安排Web页面的布局时,最常用的方法之一是用HTML表格界定页面的结构。例如,假设Web页面由顶端的
- 前言本文提供将图片分辨率调整的python代码,一如既往的实用主义。环境依赖ffmpeg环境安装,可以参考:windows ffmpeg安装
- 无限循环如果条件判断语句永远为 true,循环将会无限的执行下去,如下实例:#!/usr/bin/python# -*- coding: U