Skip to main content

Image ocr tool.

Project description

🇨🇳中文 | 🌐English | 📖文档/Docs


imgocr: Image OCR toolkit

PyPI version Downloads Contributions welcome License Apache 2.0 python_version GitHub issues Wechat Group

imgocr:Python3 package for Chinese/English OCR, with paddleocr-v4 onnx model(~14MB).

imgocr:基于PaddleOCR-v4-onnx模型(~14MB)推理,性能更高,可实现 CPU 上毫秒级的 OCR 精准预测,在通用场景上达到开源SOTA。

Showcase

银行存根 银行存根
表格 表格
火车票 火车票
英文论文 英文论文

Benchmark

PP-OCRv4串联系统由文本检测模型和文本识别模型串联完成,首先输入预测图片,经过文本检测模型获取全部的检测框。根据检测框坐标在原图中抠出文本行,并进行矫正,最后将全部文本行送入文本识别模型,得到文本结果。

整个流程如下图所示:

ppocr-v4

OCR 检测/识别 benchmark:

模型 检测 mAP(%) 识别 Acc(%) GPU 推理耗时(ms) CPU 推理耗时(ms) 模型存储大小(M)
PP-OCRv4-mobile 77.79 78.20 2.719474 79.1097 14

GPU 推理耗时基于 NVIDIA Tesla T4 机器,精度类型为 FP32,CPU 推理速度基于 Intel(R) Xeon(R) Gold 5117 CPU @ 2.00GHz,精度类型为 FP32。

OCR 评估集是 PaddleOCR 自建的中文数据集,覆盖街景、网图、文档、手写多个场景,其中文本识别包含1.1w张图片,检测包含500张图片。

Demo

HuggingFace Demo: https://huggingface.co/spaces/shibing624/imgocr

run example: examples/gradio_demo.py to see the demo:

python examples/gradio_demo.py

Install

无需安装paddlepaddle、paddleocr等深度学习库,仅需安装onnxruntime,即可用imgocr调用。

pip install onnxruntime # pip install onnxruntime-gpu for gpu
pip install imgocr

or

pip install onnxruntime # pip install onnxruntime-gpu for gpu
pip install -r requirements.txt
git clone https://github.com/shibing624/imgocr.git
cd imgocr
pip install --no-deps .

Usage

OCR识别

example: examples/ocr_demo.py

from imgocr import ImgOcr
m = ImgOcr(use_gpu=False)
result = m.ocr("data/11.jpg")
print("result:", result)

output:

命令行模式(CLI)

支持批量做OCR识别

code: cli.py

> imgocr -h                                    
usage: cli.py [-h] --image_dir IMAGE_DIR [--output_dir OUTPUT_DIR]
              [--chunk_size CHUNK_SIZE] [--use_gpu USE_GPU]

imgocr cli

options:
  -h, --help            show this help message and exit
  --image_dir IMAGE_DIR
                        input image dir path, required
  --output_dir OUTPUT_DIR
                        output ocr result dir path, default outputs
  --chunk_size CHUNK_SIZE
                        chunk size, default 10
  --use_gpu USE_GPU     use gpu, default False

run:

pip install imgocr -U
imgocr --image_dir data

输入图片目录(--image_dir, required)

Contact

  • Issue(建议):GitHub issues
  • 邮件我:xuming: xuming624@qq.com
  • 微信我:加我微信号:xuming624, 备注:姓名-公司-NLP 进NLP交流群。

Citation

如果你在研究中使用了imgocr,请按如下格式引用:

APA:

Xu, M. imgocr: Image OCR toolkit (Version 0.0.1) [Computer software]. https://github.com/shibing624/imgocr

BibTeX:

@misc{imgocr,
  author = {Ming Xu},
  title = {imgocr: Image OCR toolkit},
  year = {2024},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/shibing624/imgocr}},
}

License

授权协议为 The Apache License 2.0,可免费用做商业用途。请在产品说明中附加imgocr的链接和授权协议。

Contribute

项目代码还很粗糙,如果大家对代码有所改进,欢迎提交回本项目,在提交之前,注意以下两点:

  • tests添加相应的单元测试
  • 使用python -m pytest -v来运行所有单元测试,确保所有单测都是通过的

之后即可提交PR。

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imgocr-0.0.3.tar.gz (20.9 MB view details)

Uploaded Source

File details

Details for the file imgocr-0.0.3.tar.gz.

File metadata

  • Download URL: imgocr-0.0.3.tar.gz
  • Upload date:
  • Size: 20.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for imgocr-0.0.3.tar.gz
Algorithm Hash digest
SHA256 de18f63e171d20f8c48b0fcbfef99e62d0000a38500d49a1af5eaec85f8d179d
MD5 f6924472571bee9b0412f57fdc961a0b
BLAKE2b-256 2c770c7781e47378a284b2f84a95255b2e718519078544b5d95761970841c1af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page