semvec/pypi-packages huggingface dataset:
QiAlgo-OCR 1.0.1
QiAlgo_OCR(青祁OCR)是基于'QiAlgoML青祁机器学习项目'中的神经网络子项目分离开发的Python库，是一种对特定场景进行光学字符识别（Optical Character Recognition，简称OCR）的解决方案。
Requires Python: >=3.11

# QiAlgo青祁

## About 关于

QiAlgo_OCR (青祁OCR)是基于 `QiAlgoML 青祁机器学习` 项目中的神经网络子项目分离开发的 Python 库，是一种对特定场景进行光学字符识别（Optical Character Recognition，简称OCR）的解决方案。

QiAlgo_OCR 擅长序列到序列（Sequence-to-Sequence）任务，或者说场景文本识别（Scene Text Recognition）任务，用于提取在复杂背景中的文本。 例如对验证码的识别、对车牌号码的识别等任务。

在此发布的版本将针对图形验证码的识别任务进行强化，用于快速检验图形验证码的可靠程度。通过对大批量的随机数据进行神经网络训练，以实现高效、快速的评估。

## 使用到的依赖

| 名称          | 版本     | 用途                       |
|-------------|--------|--------------------------|
| onnxruntime | 1.16.1 | ONNX 运行时，用于加载模型。         |
| Pillow      | 10.0.1 | Python 图像处理              |
| torch       | 2.1.0  | PyTorch 项目，用于实现硬件类型识别等功能 |
| torchvision | 0.16.0 | PyTorch 项目的一部分，用于图像预处理。  |
| PyYAML      | 6.0.1  | 读取配置文件。                  |

您可能需要安装不同的依赖以在不同的硬件下运行，例如在使用 GPU 进行推理时，可能需要安装对应的 GPU 版本依赖。

## 当前支持的验证码类型

| 库       | 样例                   |
|---------|----------------------|
| Captcha | ![](images/A5Sk.png) |
|         | ![](images/5X3D.jpg) |


## 使用

### 安装

#### 在线安装

```shell
pip install QiAlgo-OCR
```

#### 通过 whl 进行安装

1. 在 [Releases页面](https://github.com/Morton-L/QiAlgo_OCR/releases) 下载 whl 包
2. 安装 whl 包```pip install QiAlgo_OCR-1.0.0-py3-none-any.whl```

### 使用示例

```python
from QiAlgo_OCR import QiAlgo_OCR


def qi_ml_ocr():
    qi = QiAlgo_OCR()

    with open('1AGB.jpg', 'rb') as f:
        image_bytes = f.read()

    qi.load_image(
        image=image_bytes
    )

    is_successful, results = qi.onnx_predictor()
    if is_successful:
        print(results)  # 1AGB


if __name__ == '__main__':
    qi_ml_ocr()
```

除了使用字节串 (bytestring)外，QiAlgo_OCR 还可以识别Base64、路径、PIL（Pillow）库中的Image图像对象、PurePath路径

## 基于源码打包

1. 将 onnx 模型命名为 `model.onnx` 并放置在 `QiAlgo_OCR/model/` 目录下；
2. ```python setup.py sdist bdist_wheel```

## 声明

### 科学技术伦理道德

科技是把双刃剑， QiAlgo_OCR 的设计初衷是用于检验图形验证码的可靠程度，但不可避免的是这确实可以对图形验证码进行快速解析以实现某些违反伦理道德的事情。为此郑重声明：

1. 本项目 `仅可用于学习` 和 `在法律允许的范围内进行可靠性测试` 用途；
2. 使用本项目进行的 `一切违反法律法规的事项均是不被允许的` ，即不允许使用本项目进行违反法律法规的尝试。
icocr 0.0.1.post1
A short description of my package

# ICOCR - End2End Image2Text

<a href="https://pypi.org/project/icocr/0.0.1/"><img alt="Alt text" src="https://img.shields.io/badge/PyPI-3775A9.svg?style=for-the-badge&logo=PyPI&logoColor=white"/></a>

## Usage
### Install using pip:
```
pip install icocr
```
### Install from source:
```
git clone https://github.com/iC-RnD/icocr-vi-en.git
pip install ./icocr-vi-en
```
### Download config and weights ONNX file from:
| File name | link download |
|---| ----- |
| Config | [link download](https://drive.google.com/file/d/1NrHoPO5boaDDNcd579bK5iHD7guYb7wY/view?usp=drive_link) |
| text_det_craft | [link download](https://drive.google.com/file/d/1Tn5MUTyOUtRqQZSu_YjvVhiEkVPMI3ml/view?usp=drive_link) |
| text_det_refine | [link download](https://drive.google.com/file/d/1owsijdhNvodzXqE8ucZNAg69f7hjoMar/view?usp=drive_link) |
| text_recog_encoder | [link download](https://drive.google.com/file/d/1hDRn8DcgxQFWQCJt6lM7NOetJj-VkUj_/view?usp=drive_link) |
| text_recog_decoder | [link download](https://drive.google.com/file/d/1hDRn8DcgxQFWQCJt6lM7NOetJj-VkUj_/view?usp=drive_link) |

- Update your batch-size, device, directory weights of text detection models and text recognition models

### Example icocr inference image2text

Inference class in icocr params:
```
- config: config file (modified path model onnx)
- batch_size: batch_size infernce text recognition model (default: 1)
- device: device used load onnx model (default: cpu)
```
Code example:
```
from icocr import icocr
ocr = icocr.Inference(config=config.yml, batch_size=8, device='cuda')
img = cv2.imread("./icocr-lib/icocr/test_img.png")
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)  #Input icocr is RGB image
out = ocr.icocr_predict(img)   #Dictionary of bounding box text and text prediction
```
| Image | icocr result |
| --- | ----- |
| <p align="center"> <img src="icocr/test_img.png" width="960"> </p> | ({0: [[78, 12], [735, 3], [736, 31], [78, 39]], 1: [[17, 41], [734, 37], [734, 63], [17, 68]], 2: [[15, 72], [733, 69], [733, 95], [16, 98]], 3: [[18, 105], [634, 99], [634, 128], [18, 133]]}, {'0': 'Các đơn có nội dung chính sau: Tố cáo hành vi vi phạm pháp luật của', '1': 'Công ty TNHH Mặt trời Phú Quốc và các hành vi vi phạm quy định trong quân', '2': 'lý đất đai của một số cán bộ, lãnh đạo, các cơ quan chức năng liên quan trong', '3': 'quá trình thu hồi đất, giao đất cho Công ty TNHH Mặt trời Phú Quốc.'}) |