Python - 开发截图识别OCR小工具

放肆的年华 提交于 2020-03-02 16:18:46

一、简介

你一定用过那种“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)识别截图中的文本

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!