CnOCR 使用教程

目录

  • 一、 简介
  • 二、使用教程
  • 三、效果展示

一、 简介

CnOCR 是 Python 3 下的文字识别(Optical Character Recognition,简称OCR)工具包,支持简体中文、繁体中文(部分模型)、英文和数字的常见字符识别,支持竖排文字的识别。自带了20+个训练好的识别模型,适用于不同应用场景,安装后即可直接使用。同时,CnOCR也提供简单的训练命令供使用者训练自己的模型。

二、使用教程

1. 相关文档

  • 项目地址:https://github.com/breezedeus/cnocr
  • 介绍文档:https://cnocr.readthedocs.io/zh/latest/

2. 安装

  • pip安装
    pip install cnocr
    
    国内安装源
    pip install cnocr -i https://pypi.doubanio.com/simple
    
    推荐使用python3.6及以上版本

3. 使用

  • 初始化
    类CnOcr 是识别主类,包含了三个函数针对不同场景进行文字识别。类CnOcr的初始化函数如下:
class CnOcr(object):
    def __init__(
        self,
        rec_model_name: str = 'densenet_lite_136-fc',
        *,
        det_model_name: str = 'ch_PP-OCRv3_det',
        cand_alphabet: Optional[Union[Collection, str]] = None,
        context: str = 'cpu',  # ['cpu', 'gpu', 'cuda']
        rec_model_fp: Optional[str] = None,
        rec_model_backend: str = 'onnx',  # ['pytorch', 'onnx']
        rec_vocab_fp: Union[str, Path] = VOCAB_FP,
        rec_more_configs: Optional[Dict[str, Any]] = None,
        rec_root: Union[str, Path] = data_dir(),
        det_model_fp: Optional[str] = None,
        det_model_backend: str = 'onnx',  # ['pytorch', 'onnx']
        det_more_configs: Optional[Dict[str, Any]] = None,
        det_root: Union[str, Path] = det_data_dir(),
        **kwargs,
    )

参数说明:

参数 说明
rec_model_name 识别模型名称。默认为 densenet_lite_136-fc,可选模型地址:https://cnocr.readthedocs.io/zh/latest/models/
det_model_name 检测模型名称。默认为 ch_PP-OCRv3_det,可选模型地址:https://cnocr.readthedocs.io/zh/latest/models/
cand_alphabet 待识别字符所在的候选集合。默认为 None,表示不限定识别字符范围。取值可以是字符串,如 “0123456789”,或者字符列表,如 [“0”, “1”, “2”, “3”, “4”, “5”, “6”, “7”, “8”, “9”]。
context 预测使用的机器资源,可取值为字符串cpu、gpu、cuda:0等。默认为 cpu。此参数仅在 model_backend==‘pytorch’ 时有效。
rec_model_fp 如果不使用系统自带的识别模型,可以通过此参数直接指定所使用的模型文件(.ckpt 或 .onnx 文件)。
rec_model_backend pytorch’, or ‘onnx’。表明识别时是使用 PyTorch 版本模型,还是使用 ONNX 版本模型。 同样的模型,ONNX 版本的预测速度一般是 PyTorch 版本的 2倍左右。 默认为 ‘onnx’。
rec_vocab_fp 识别字符集合的文件路径,即 label_cn.txt 文件路径。若训练的自有模型更改了字符集,看通过此参数传入新的字符集文件路径。
rec_more_configs 识别模型初始化时传入的其他参数。
rec_root 识别模型文件所在的根目录。
det_model_fp 如果不使用系统自带的检测模型,可以通过此参数直接指定所使用的模型文件(.ckpt 或 .onnx 文件)。
det_model_backend ‘pytorch’, or ‘onnx’。表明检测时是使用 PyTorch 版本模型,还是使用 ONNX 版本模型。 同样的模型,ONNX 版本的预测速度一般是 PyTorch 版本的 2倍左右。 默认为 ‘onnx’。
det_more_configs dict,识别模型初始化时传入的其他参数。
det_root 检测模型文件所在的根目录。
  • ocr操作
from cnocr import CnOcr

img_path = 'emoj.jpg'
ocr = CnOcr() 
result = ocr.ocr(img_path)

# 具体参数设置参考:https://cnocr.readthedocs.io/zh/latest/usage/

备注:

  • 首次使用 CnOCR 时,系统会自动下载 zip 格式的模型压缩文件,并存于 ~/.cnocr目录(Windows下默认路径为 C:\Users\AppData\Roaming\cnocr)。 下载后的zip文件代码会自动对其解压,然后把解压后的模型相关目录放于~/.cnocr/2.2目录中。
  • 如果系统无法自动成功下载zip文件,则需要手动从https://huggingface.co/breezedeus/cnstd-cnocr-models/tree/main下载此zip文件并把它放于 ~/.cnocr/2.2目录。

三、效果展示

  • 在线Demo
    https://huggingface.co/spaces/breezedeus/cnocr
  • 效果展示
    CnOCR 使用教程_第1张图片

你可能感兴趣的:(图像识别,ocr,python)