Python實用案例,python10行指令碼打造實時截圖識別OCR,輕鬆搞定“百度文庫”
前言
今天,我們就來做一款實時截圖識別的小工具
開發工具
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~詳見個人簡介或者私信獲取完整原始碼。。