python muggle_ocr库用法及实例代码

时间:2022-10-19 18:42:15

说明

1、muggle_ocr是一款轻量级的ocr识别库,对于python来说是识别率较高的图片验证码模块。

2、主要用于识别各种类型的验证码,一般文字提取效果稍差。

安装命令

?
1
pip install muggle_ocr

实例

?
1
2
3
4
5
6
7
8
9
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)

相关实例扩展:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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库的介绍内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://www.py.cn/jishu/jichu/31670.html