1. 程式人生 > 其它 >Python實用案例,python10行指令碼打造實時截圖識別OCR,輕鬆搞定“百度文庫”

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模組

優點:免費,易用
缺點:識別效果很一般,準確率不高

使用方法介紹:

  1. pip install pytesseract

  2. 安裝 tesseract-ocr.exe 配置環境變數

  3. 修改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~詳見個人簡介或者私信獲取完整原始碼。。

往期回顧

Python指令碼實現玩轉emoji

Python指令碼實現快速卡通化人物頭像

Python指令碼實現天氣查詢應用

Python實現自動監測Github專案並開啟網頁

Python實現檔案自動歸類

Python實現幫你選擇雙色球號碼

Python實現每日更換“必應圖片”為“桌面桌布”

Python實現批量加水印

Python實現破譯zip壓縮包

Python實現批量下載百度圖片