时间:2020-08-08 python教程 查看: 972
一、简介
你一定用过那种“OCR神器”,可以把图片中的文字提取出来,极大的提高工作效率。
今天,我们就来做一款实时截图识别的小工具。顾名思义,运行程序时,可以实时把你截出来的图片中的文字识别出来。
二、模块
import keyboard # 用于监控键盘按下,触发事件(pip install keyboard)
import time
from aip import AipOcr # 调用百度接口(pip install baidu-aip)
from PIL import ImageGrab # 用于保存屏幕截图
三、获取百度应用接口
AI开放平台文档中心
查看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)识别截图中的文本
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持python博客。