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

时间: 2024-10-10 02:51:12

Python - 开发截图识别OCR小工具的相关文章

常用的iOS开发或者优化的小工具

下面介绍一下我常用的iOS开发或者优化的小工具 由于很多工具大多数博客都已经介绍过了,我就列举一些我认为还不错但是大家不常列举的: Crafter https://github.com/krzysztofzablocki/crafter 你是否经常见一个Project之后你经常会建立一个Podfile,然后把自己一些几乎每个项目都要用的第三方库加进去或者,添加ignore文件等等重复的事情,Crafter 是一个可以自动化初始化你xcode工程的默认配置,是由Ruby语言写的.一个script即

利用python BaseHTTPServer 开发的图片浏览小工具

最近从网上爬了点图片,为了方便浏览就写了这么个小工具.直接上码,解释偏少,代码没有优化,实现比较简略.仅作记录之用. 1.httpd.py 1 # encoding: UTF-8 2 #-*-coding:utf-8-*- 3 import BaseHTTPServer 4 import config 5 import urllib 6 from CreatHtml import CreateHtmlClass 7 import os 8 9 #登录页面代码,做个简单的访问权限控制 10 log

Python学习之旅:用Python制作一个打字训练小工具

一.写在前面 说道程序员,你会想到什么呢?有人认为程序员象征着高薪,有人认为程序员都是死肥宅,还有人想到的则是996和 ICU. 别人眼中的程序员:飞快的敲击键盘.酷炫的切换屏幕.各种看不懂的字符代码. 然而现实中的程序员呢?对于很多程序员来说,没有百度和 Google 解决不了的问题,也没有 ctrl + c 和 ctrl + v 实现不了的功能. 那么身为一个程序员,要怎么让自己看起来更加“专业”呢?答案就是加快自己的打字速度了,敲的代码可能是错的,但这个13却是必须装的! 然而还是有不少人

Python开发MySQL数据库(表)克隆工具

前段时间因为某些需求,需要频繁的克隆MySQL的某些数据库或者某几个表.手动导出导入操作了几次,感觉甚是繁琐,而且效率不高,出错几率过大.索性抽时间用Python开发了一个MySQL的clone工具,用了一段时间,将数据库或者表克隆到同一台服务器的话(即源数据库与目标数据库在同一主机上),百万条数据也就是几十秒的时间搞定.该工具也支持将本地数据库或者表克隆到远程主机上. 程序比较简单,就一个Python文件,原理就是主要使用了MySQL的LOAD DATA INFILE命令.先来看下工具帮助信息

Python写的大小写转换小工具

几行代码的小工具,用于进行如下转换 TRANSACTIONS ON CLOUD COMPUTING => Transactions On Cloud Computing orig = 'TRANSACTIONS ON CLOUD COMPUTING' splited = orig.split(' ') handled = '' for word in splited: word = word[0] + word[1:].lower() handled += (' ' + word) handle

福利:优雅开发的两款小工具 | 今日代码免费开源

作为新人,每个人在成长路上总是跌跌撞撞,难免浮躁,其实很多时候很有效的办法就是去"抄袭"别人,也就是阅读别人的代码,能不重写的就不重写,完全用别人的逻辑依葫芦画瓢,写久了可能你会有种他人的风格,但是再久之后可能你会想对别人的代码进行优化,我们这样过来,所以喜欢借鉴别人的东西,也更喜欢把自己写的或觉得好的分享出去,强调一下工作中代码的就不要随便分享了,因为这个属于商业产品,我们更多的是分享以前折腾的一些小东西. 下面的两个系统是很早以前玩的,具体功能可以翻阅早期的软文. 代码 1.微社区

python抓取网站URL小工具

1.安装Python requests模块(通过pip): 环境搭建好了! 2.测试一下抓取URL的过程: 抓取出来的URL有JavaScript代码,正则上还有待更加完善,有兴趣的可以研究下~! 工具源代码: #coding:utf-8 import sys import re import requests #获取输入URL,并获取网页text input = raw_input("please input URL format like this(http://www.baidu.com)

python开发中常见的小坑

(1)可变参数类型作为函数参数默认值,函数参数默认值的设置在Python中只会被执行一次,也就是定义该函数的时候. 解决办法,设置为None,然后判断 (2)Python中的变量名解析遵循所谓的LEGB原则,也就是“L:本地作用域:E:上一层结构中def或lambda的本地作用域:G:全局作用域:B:内置作用域”(Local,Enclosing,Global,Builtin),按顺序查找. 上述错误的出现,是因为当你在某个作用域内为变量赋值时,该变量被Python解释器自动视作该作用域的本地变量

Python开发的10个小贴士

下面是十个Python中很有用的贴士和技巧.其中一些是初学这门语言常常会犯的错误. 注意:假设我们都用的是Python 3 1. 列表推导式 你有一个list:bag = [1, 2, 3, 4, 5] 现在你想让所有元素翻倍,让它看起来是这个样子:[2, 4, 6, 8, 10] 大多初学者,根据之前语言的经验会大概这样来做 bag = [1, 2, 3, 4, 5] for i in range(len(bag)): bag[i] = bag[i] * 2 但是有更好的方法: bag = [