說明
1、muggle_ocr是一款輕量級的ocr識別庫,對于python來說是識別率較高的圖片驗證碼模塊。
2、主要用于識別各種類型的驗證碼,一般文字提取效果稍差。
安裝命令
實例
import muggle_ocr
# 初始化sdk;model_type 包含了 ModelType.OCR/ModelType.Captcha 兩種模式,分別對應(yīng)常規(guī)圖片與驗證碼
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)
相關(guān)實例擴(kuò)展:
import time
# 1. 導(dǎo)入包
import muggle_ocr
"""
使用預(yù)置模型,預(yù)置模型包含了[ModelType.OCR, ModelType.Captcha] 兩種
其中 ModelType.OCR 用于識別普通印刷文本, ModelType.Captcha 用于識別4-6位簡單英數(shù)驗證碼
"""
# 打開印刷文本圖片
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 可識別光學(xué)印刷文本
for i in range(5):
st = time.time()
# 3. 調(diào)用預(yù)測函數(shù)
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. 調(diào)用預(yù)測函數(shù)
text = sdk.predict(image_bytes=captcha_bytes)
print(text, time.time() - st)
"""
使用自定義模型
支持基于 https://github.com/kerlomz/captcha_trainer 框架訓(xùn)練的模型
訓(xùn)練完成后,進(jìn)入導(dǎo)出編譯模型的[out]路徑下, 把[graph]路徑下的pb模型和[model]下的yaml配置文件放到同一路徑下。
將 conf_path 參數(shù)指定為 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)
到此這篇關(guān)于python muggle_ocr庫用法及實例代碼的文章就介紹到這了,更多相關(guān)python muggle_ocr庫的介紹內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- python3使用Pillow、tesseract-ocr與pytesseract模塊的圖片識別的方法
- python3光學(xué)字符識別模塊tesserocr與pytesseract的使用詳解
- python PaddleOCR庫用法及知識點詳解
- python EasyOCR庫實例用法介紹
- python 如何做一個識別率百分百的OCR
- Python 實現(xiàn)任意區(qū)域文字識別(OCR)操作
- Python實現(xiàn)OCR識別之pytesseract案例詳解