# RapidOCR
**Repository Path**: atari/RapidOCR
## Basic Information
- **Project Name**: RapidOCR
- **Description**: 同步 https://github.com/RapidOCR/RapidOCR
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 5
- **Forks**: 0
- **Created**: 2021-03-29
- **Last Updated**: 2023-08-02
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[简体中文](https://github.com/RapidAI/RapidOCR/blob/main/docs/README_zh.md) | English
*Open source OCR for the security of the digital world*

Contents
- [Introduction](#introduction)
- [Navigation](#navigation)
- [Recently updates(more)](#recently-updatesmore)
- [🍜2023-05-22 api update:](#2023-05-22-api-update)
- [❤2023-05-20 ocrweb update:](#2023-05-20-ocrweb-update)
- [🌹 2023-05-14 ocrweb v0.1.5 update:](#-2023-05-14-ocrweb-v015-update)
- [Overall Framework](#overall-framework)
- [Demo](#demo)
- [TODO and Task Claim](#todo-and-task-claim)
- [Original initiator and start-up author](#original-initiator-and-start-up-author)
- [Acknowledgements](#acknowledgements)
- [Sponsor](#sponsor)
- [Authorization](#authorization)
- [Join us](#join-us)
- [Demo](#demo-1)
- [Demonstration with C++/JVM](#demonstration-with-cjvm)
- [Demonstration with .Net](#demonstration-with-net)
- [Demonstratioin with multi\_language](#demonstratioin-with-multi_language)
## Introduction
- Completely open source, free and support offline deployment of multi-platform and multi-language OCR.
- **Chinese Advertising**: Welcome to join our QQ group to download the model and test program, QQ group number: 887298230
- **Cause**: Baidu paddlepaddle engineering is not very good, in order to facilitate everyone to perform OCR reasoning on various terminals, we convert it to onnx format, use `Python/C++/Java/Swift/C#` to change It is ported to various platforms.
- **Name Source**: Light, fast, economical and smart. OCR technology based on deep learning technology focuses on artificial intelligence advantages and small models, with speed as the mission and effect as the leading role.
- **Usage**:
- If the existing model in the repo meets the requirements → RapidOCR deployment can be used.
- Not meeting requirements → Based on [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR). Fine-tune your own data → RapidOCR deployment.
-If this repo is helpful to you, please click on a small star ⭐ Bah!
## Navigation
- [Wiki](https://github.com/RapidAI/RapidOCR/wiki)
- [Support Language](https://github.com/RapidAI/RapidOCR/wiki/support_language)
- [ONNXRuntime inference optim](https://github.com/RapidAI/RapidOCR/wiki/ONNXRuntime%E6%8E%A8%E7%90%86%E8%B0%83%E4%BC%98%E6%8C%87%E5%8D%97)
- [RapidOCR Optim](https://github.com/RapidAI/RapidOCR/wiki/RapidOCR%E8%B0%83%E4%BC%98%E5%B0%9D%E8%AF%95%E6%95%99%E7%A8%8B)
- [config.yaml parameter](https://github.com/RapidAI/RapidOCR/wiki/config_parameter)
- [Python demo](https://github.com/RapidAI/RapidOCR/blob/main/python/README.md)
- [C++ demo(Windows/Linux/macOS)](https://github.com/RapidAI/RapidOCR/blob/main/cpp)
- [RapidOcrOnnx](https://github.com/RapidAI/RapidOcrOnnx)
- [RapidOcrNcnn](https://github.com/RapidAI/RapidOcrNcnn)
- [Jvm demo(Java/Kotlin)](https://github.com/RapidAI/RapidOCR/blob/main/jvm)
- [RapidOcrOnnxJvm](https://github.com/RapidAI/RapidOcrOnnxJvm)
- [RapidOcrNcnnJvm](https://github.com/RapidAI/RapidOcrNcnnJvm)
- [.Net demo(C#)](https://github.com/RapidAI/RapidOCRCSharp)
- [Android demo](https://github.com/RapidAI/RapidOcrAndroidOnnx)
- [API](https://github.com/RapidAI/RapidOCR/tree/main/api)
- Web demo:
- [Web OCR](https://github.com/RapidAI/RapidOCR/blob/main/ocrweb/README.md)
- [Nuitka package rapdocr_web](https://github.com/RapidAI/RapidOCR/wiki/Nuitka%E6%89%93%E5%8C%85rapidocr_web%E6%93%8D%E4%BD%9C%E6%96%87%E6%A1%A3)
- [Multi Web OCR](https://github.com/RapidAI/RapidOCR/blob/main/ocrweb_multi/README.md)
- [RapidStructure](https://github.com/RapidAI/RapidStructure)
- [orientation](https://github.com/RapidAI/RapidStructure/blob/main/docs/README_Orientation.md)
- [layout](https://github.com/RapidAI/RapidStructure/blob/main/docs/README_Layout.md)
- [table recovery](https://github.com/RapidAI/RapidStructure/blob/main/docs/README_Table.md)
- Derivatives
- [RapidOCR HTTP service/win32 program/easy language writing](https://github.com/Physton/RapidOCRServer)
- [Related projects](https://github.com/RapidAI/RapidOCR/blob/main/docs/related_projects.md)
- [RapidOCRPDF](https://github.com/RapidAI/RapidOCRPDF):extract PDF content.
- [RapidVideOCR](https://github.com/SWHL/RapidVideOCR): Extract hard subtitles in videos based on RapidOCR
- [LGPMA_Infer](https://github.com/SWHL/LGPMA_Infer): table structure restoration | [blog interpretation papers and source code](http://t.csdn.cn/QNN3S)
- [Document Unwarping-PaperEdge](https://github.com/cvlab-stonybrook/PaperEdge) | [Demo](https://huggingface.co/spaces/SWHL/PaperEdgeDemo)
- [Text Removal-CTRNet](https://github.com/lcy0604/CTRNet) | [Demo](https://huggingface.co/spaces/SWHL/CTRNetDemo)
- Model Convert
- [PaddleOCRModelConverter](https://github.com/RapidAI/PaddleOCRModelConverter)
- [Paddle2OnnxConvertor](https://github.com/RapidAI/Paddle2OnnxConvertor)
- [Teach you to use ONNXRunTime to deploy PP-OCR](https://aistudio.baidu.com/aistudio/projectdetail/1479970?channelType=0&channel=0)
- [About model](https://github.com/RapidAI/RapidOCR/blob/main/docs/models.md)
- [Model Convert](https://github.com/RapidAI/RapidOCR/blob/main/docs/models.md#模型转换)
- [Model Download](https://github.com/RapidAI/RapidOCR/blob/main/docs/models.md#模型下载)
- [FAQ](https://github.com/RapidAI/RapidOCR/blob/main/docs/FAQ.md)
## Recently updates([more](https://github.com/RapidAI/RapidOCR/wiki/Changelog))
#### 🍜2023-05-22 api update:
- Decouple the API from ocrweb and maintain it as a separate module. For details, see [API](https://github.com/RapidAI/RapidOCR/tree/main/api)
- After `rapidocr_web>0.1.6`, `pip install rapidocr_web[api]` will not be supported for installation, you can directly install and use `pip install rapidocr_api`.
#### ❤2023-05-20 ocrweb update:
- Add desktop version of RapidOCRWeb, for details, please refer to [RapidOCRWeb desktop version tutorial](https://github.com/RapidAI/RapidOCR/wiki/%5BRapidOCRWeb%5D-%E6%A1%8C%E9%9D%A2%E7%89%88%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B)
#### 🌹 2023-05-14 ocrweb v0.1.5 update:
- Add the return value of the interface version's return coordinate box ([issue #85](https://github.com/RapidAI/RapidOCR/issues/85))
- API mode adds base64 format input
- For details, please refer to: [link](https://github.com/RapidAI/RapidOCR/blob/main/ocrweb/README.md)
## Overall Framework
```mermaid
flowchart LR
subgraph Step
direction TB
C(Text Det) --> D(Text Cls) --> E(Text Rec)
end
A[/OurSelf Dataset/] --> B(PaddleOCR) --Train--> Step --> F(PaddleOCRModelConverter)
F --ONNX--> G{RapidOCR Deploy\nPython/C++/Java/C#}
G --> H(Windows x86/x64) & I(Linux) & J(Android) & K(Web) & L(Raspberry Pi)
click B "https://github.com/PaddlePaddle/PaddleOCR" _blank
click F "https://github.com/RapidAI/PaddleOCRModelConverter" _blank
```
## Demo
- Online demo
- For details, please refer to: [ocrweb/README](https://github.com/RapidAI/RapidOCR/blob/main/ocrweb/README.md)
- The model combination (optimal combination) used for the demo is:
``` text
ch_PP-OCRv3_det + ch_ppocr_mobile_v2.0_cls + ch_PP-OCRv3_rec
```
- **Demo**:
- [Hugging Face Demo](https://huggingface.co/spaces/SWHL/RapidOCRDemo)
- The demo is built on Hugging Face's Spaces, generated by the Gradio library.
- Demo:
## TODO and Task Claim
- See here: [link](https://github.com/orgs/RapidAI/projects/7)
## Original initiator and start-up author
## Acknowledgements
- Many thanks to [DeliciaLaniD](https://github.com/DeliciaLaniD) for fixing the misplaced start position of scan animation in ocrweb.
- Many thanks to [zhsunlight](https://github.com/zhsunlight) for the suggestion about parameterized call GPU reasoning and the careful and thoughtful testing.
- Many thanks to [lzh111222334](https://github.com/lzh111222334) for fixing some bugs of rec preprocessing under python version.
- Many thanks to [AutumnSun1996](https://github.com/AutumnSun1996) for the suggestion in the [#42](https://github.com/RapidAI/RapidOCR/issues/42).
- Many thanks to [DeadWood8](https://github.com/DeadWood8) for providing the [document]((https://github.com/RapidAI/RapidOCR/wiki/Nuitka%E6%89%93%E5%8C%85rapidocr_web%E6%93%8D%E4%BD%9C%E6%96%87%E6%A1%A3)) which packages rapidocr_web to exe by Nuitka.
- Many thanks to [Loovelj](https://github.com/Loovelj) for fixing the bug of sorting the text boxes. For details see [issue 75](https://github.com/RapidAI/RapidOCR/issues/75).
## Sponsor
|Sponsor|Applied Products|
|:---:|:---:|
|
|
|
|
| - |
- If you want to sponsor the project, you can directly click the Sponsor button at the top of the current page, please write a note (e.g. your github account name) to facilitate adding to the sponsorship list above.
## Authorization
- The copyright of the OCR model belongs to Baidu, and the copyright of other engineering codes belongs to the owner of this warehouse.
- This software is licensed under LGPL. You are welcome to contribute code, submit an issue or even PR.
- If you find this project useful in your research, please consider citing:
```latex
@misc{RapidOCR 2021,
title={{Rapid OCR}: OCR Toolbox},
author={MindSpore Team},
howpublished = {\url{https://github.com/RapidAI/RapidOCR}},
year={2021}
}
```
## Join us
- For international developers, we regard [RapidOCR Disscussions](https://github.com/RapidAI/RapidOCR/discussions) as our international community platform. All ideas and questions can be discussed here in English.
## Demo
#### Demonstration with C++/JVM
#### Demonstration with .Net
#### Demonstratioin with multi_language