前言
今天,我們就來做一款實時截圖識別的小工具
開發工具
Python版本: 3.9.4
相關模塊:
PIL模塊
keyboard模塊
pytesseract模塊
以及一些Python自帶的模塊
效果圖展示


源碼分析
等待用戶截圖
此處需要借助貼圖神器(Snipaste)
其中“f1”是截圖的快捷鍵,“ctrl+c”是把截圖保存到剪貼板的快捷鍵。
如果使用qq截圖的話,需要把快捷鍵改為對應的“ctrl+alt+c”和“enter”
import keyboard
# 利用截圖軟件(Snipaste)截圖到剪貼板
# 輸入鍵盤的觸發事件
keyboard.wait(hotkey="f1")
keyboard.wait(hotkey="ctrl+c")
time.sleep(0.1)
上面這段代碼執行之后,現在已經有一張圖片等待在剪貼板里了。
保存截圖
利用PIL模塊的ImageGrab,可以把剪貼板里的那張圖片,保存到當前的目錄下,並命名為“screen.png”
from PIL import ImageGrab
# 把圖片從剪切板保存到當前路徑
image = ImageGrab.grabclipboard()
image.save("screen.png")
識別截圖中的文本
方法一
pytesseract模塊
優點:免費,易用
缺點:識別效果很一般,准確率不高
使用方法介紹:
-
pip install pytesseract
-
安裝 tesseract-ocr.exe 配置環境變量
-
修改pytesseract.py文件,將tesseract_cmd指向Tesseract-OCR的tesseract.exe的絕對路徑。
來看看效果:

方法二
百度API接口
AI開放平台文檔中心
https://ai.baidu.com/ai-doc

查看python語言的SDK文檔

點擊右上角(控制台),登錄自己的百度賬號,創建“文字識別”的應用

import pytesseract
from aip import AipOcr
from PIL import ImageGrab
# 法二:利用百度API
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'
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"])
文章到這里就結束了,感謝你的觀看,Python實用腳本系列,下篇文章分享python打造實時截圖識別OCR
為了感謝讀者們,我想把我最近收藏的一些編程干貨分享給大家,回饋每一個讀者,希望能幫到你們。
干貨主要有:
① 2000多本Python電子書(主流和經典的書籍應該都有了)
② Python標准庫資料(最全中文版)
③ 項目源碼(四五十個有趣且經典的練手項目及源碼)
④ Python基礎入門、爬蟲、web開發、大數據分析方面的視頻(適合小白學習)
⑤ Python學習路線圖(告別不入流的學習)
⑥ 兩天的Python爬蟲訓練營直播權限
All done~詳見個人簡介或者私信獲取完整源代碼。。
