一、簡介
你一定用過那種“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)識別截圖中的文本