python muggle_ocr庫用法及實例代碼

說明

1、muggle_ocr是一款輕量級的ocr識別庫,對於python來說是識別率較高的圖片驗證碼模塊。

2、主要用於識別各種類型的驗證碼,一般文字提取效果稍差。

安裝命令

pip install muggle_ocr

實例

import muggle_ocr
# 初始化sdk;model_type 包含瞭 ModelType.OCR/ModelType.Captcha 兩種模式,分別對應常規圖片與驗證碼
sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.Captcha)
 
with open(r"d:\Desktop\四位驗證碼.png", "rb") as f:
    img = f.read()
 
text = sdk.predict(image_bytes=img)
print(text)

相關實例擴展:

import time

# 1. 導入包
import muggle_ocr

"""
使用預置模型,預置模型包含瞭[ModelType.OCR, ModelType.Captcha] 兩種
其中 ModelType.OCR 用於識別普通印刷文本, ModelType.Captcha 用於識別4-6位簡單英數驗證碼

"""

# 打開印刷文本圖片
with open(r"test1.png", "rb") as f:
    ocr_bytes = f.read()

# 打開驗證碼圖片
with open(r"test2.jpg", "rb") as f:
    captcha_bytes = f.read()

# 2. 初始化;model_type 可選: [ModelType.OCR, ModelType.Captcha]
sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.OCR)

# ModelType.Captcha 可識別光學印刷文本
for i in range(5):
    st = time.time()
    # 3. 調用預測函數
    text = sdk.predict(image_bytes=ocr_bytes)
    print(text, time.time() - st)

# ModelType.Captcha 可識別4-6位驗證碼
sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.Captcha)
for i in range(5):
    st = time.time()
    # 3. 調用預測函數
    text = sdk.predict(image_bytes=captcha_bytes)
    print(text, time.time() - st)

"""
使用自定義模型
支持基於 https://github.com/kerlomz/captcha_trainer 框架訓練的模型
訓練完成後,進入導出編譯模型的[out]路徑下, 把[graph]路徑下的pb模型和[model]下的yaml配置文件放到同一路徑下。
將 conf_path 參數指定為 yaml配置文件 的絕對或項目相對路徑即可,其他步驟一致,如下示例:
"""
with open(r"test3.jpg", "rb") as f:
    b = f.read()
sdk = muggle_ocr.SDK(conf_path="./ocr.yaml")
text = sdk.predict(image_bytes=b)

到此這篇關於python muggle_ocr庫用法及實例代碼的文章就介紹到這瞭,更多相關python muggle_ocr庫的介紹內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: