Merge branch 'dygraph' into dygraph_rc
This commit is contained in:
commit
27e7ff1ac9
|
@ -0,0 +1,284 @@
|
|||
# 多语言模型
|
||||
|
||||
**近期更新**
|
||||
|
||||
- 2021.4.9 支持**80种**语言的检测和识别
|
||||
- 2021.4.9 支持**轻量高精度**英文模型检测识别
|
||||
|
||||
- [1 安装](#安装)
|
||||
- [1.1 paddle 安装](#paddle安装)
|
||||
- [1.2 paddleocr package 安装](#paddleocr_package_安装)
|
||||
|
||||
- [2 快速使用](#快速使用)
|
||||
- [2.1 命令行运行](#命令行运行)
|
||||
- [2.1.1 整图预测](#bash_检测+识别)
|
||||
- [2.1.2 识别预测](#bash_识别)
|
||||
- [2.1.3 检测预测](#bash_检测)
|
||||
- [2.2 python 脚本运行](#python_脚本运行)
|
||||
- [2.2.1 整图预测](#python_检测+识别)
|
||||
- [2.2.2 识别预测](#python_识别)
|
||||
- [2.2.3 检测预测](#python_检测)
|
||||
- [3 自定义训练](#自定义训练)
|
||||
- [4 支持语种及缩写](#语种缩写)
|
||||
|
||||
<a name="安装"></a>
|
||||
## 1 安装
|
||||
|
||||
<a name="paddle安装"></a>
|
||||
### 1.1 paddle 安装
|
||||
```
|
||||
# cpu
|
||||
pip install paddlepaddle
|
||||
|
||||
# gpu
|
||||
pip instll paddlepaddle-gpu
|
||||
```
|
||||
|
||||
<a name="paddleocr_package_安装"></a>
|
||||
### 1.2 paddleocr package 安装
|
||||
|
||||
|
||||
pip 安装
|
||||
```
|
||||
pip install "paddleocr>=2.0.4" # 推荐使用2.0.4版本
|
||||
```
|
||||
本地构建并安装
|
||||
```
|
||||
python3 setup.py bdist_wheel
|
||||
pip3 install dist/paddleocr-x.x.x-py3-none-any.whl # x.x.x是paddleocr的版本号
|
||||
```
|
||||
|
||||
<a name="快速使用"></a>
|
||||
## 2 快速使用
|
||||
|
||||
<a name="命令行运行"></a>
|
||||
### 2.1 命令行运行
|
||||
|
||||
查看帮助信息
|
||||
|
||||
```
|
||||
paddleocr -h
|
||||
```
|
||||
|
||||
* 整图预测(检测+识别)
|
||||
|
||||
Paddleocr目前支持80个语种,可以通过修改--lang参数进行切换,具体支持的[语种](#语种缩写)可查看表格。
|
||||
|
||||
``` bash
|
||||
|
||||
paddleocr --image_dir doc/imgs/japan_2.jpg --lang=japan
|
||||
```
|
||||
![](https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/release/2.0/doc/imgs/japan_2.jpg)
|
||||
|
||||
结果是一个list,每个item包含了文本框,文字和识别置信度
|
||||
```text
|
||||
[[[671.0, 60.0], [847.0, 63.0], [847.0, 104.0], [671.0, 102.0]], ('もちもち', 0.9993342)]
|
||||
[[[394.0, 82.0], [536.0, 77.0], [538.0, 127.0], [396.0, 132.0]], ('天然の', 0.9919842)]
|
||||
[[[880.0, 89.0], [1014.0, 93.0], [1013.0, 127.0], [879.0, 124.0]], ('とろっと', 0.9976762)]
|
||||
[[[1067.0, 101.0], [1294.0, 101.0], [1294.0, 138.0], [1067.0, 138.0]], ('後味のよい', 0.9988712)]
|
||||
......
|
||||
```
|
||||
|
||||
* 识别预测
|
||||
|
||||
```bash
|
||||
paddleocr --image_dir doc/imgs_words/japan/1.jpg --det false --lang=japan
|
||||
```
|
||||
|
||||
![](https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/release/2.0/doc/imgs_words/japan/1.jpg)
|
||||
|
||||
结果是一个tuple,返回识别结果和识别置信度
|
||||
|
||||
```text
|
||||
('したがって', 0.99965394)
|
||||
```
|
||||
|
||||
* 检测预测
|
||||
|
||||
```
|
||||
paddleocr --image_dir PaddleOCR/doc/imgs/11.jpg --rec false
|
||||
```
|
||||
|
||||
结果是一个list,每个item只包含文本框
|
||||
|
||||
```
|
||||
[[26.0, 457.0], [137.0, 457.0], [137.0, 477.0], [26.0, 477.0]]
|
||||
[[25.0, 425.0], [372.0, 425.0], [372.0, 448.0], [25.0, 448.0]]
|
||||
[[128.0, 397.0], [273.0, 397.0], [273.0, 414.0], [128.0, 414.0]]
|
||||
......
|
||||
```
|
||||
|
||||
<a name="python_脚本运行"></a>
|
||||
### 2.2 python 脚本运行
|
||||
|
||||
ppocr 也支持在python脚本中运行,便于嵌入到您自己的代码中:
|
||||
|
||||
* 整图预测(检测+识别)
|
||||
|
||||
```
|
||||
from paddleocr import PaddleOCR, draw_ocr
|
||||
|
||||
# 同样也是通过修改 lang 参数切换语种
|
||||
ocr = PaddleOCR(lang="korean") # 首次执行会自动下载模型文件
|
||||
img_path = 'doc/imgs/korean_1.jpg '
|
||||
result = ocr.ocr(img_path)
|
||||
# 打印检测框和识别结果
|
||||
for line in result:
|
||||
print(line)
|
||||
|
||||
# 可视化
|
||||
from PIL import Image
|
||||
image = Image.open(img_path).convert('RGB')
|
||||
boxes = [line[0] for line in result]
|
||||
txts = [line[1][0] for line in result]
|
||||
scores = [line[1][1] for line in result]
|
||||
im_show = draw_ocr(image, boxes, txts, scores, font_path='/path/to/PaddleOCR/doc/korean.ttf')
|
||||
im_show = Image.fromarray(im_show)
|
||||
im_show.save('result.jpg')
|
||||
```
|
||||
|
||||
结果可视化:
|
||||
![](https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/release/2.0/doc/imgs_results/korean.jpg)
|
||||
|
||||
|
||||
* 识别预测
|
||||
|
||||
```
|
||||
from paddleocr import PaddleOCR
|
||||
ocr = PaddleOCR(lang="german")
|
||||
img_path = 'PaddleOCR/doc/imgs_words/german/1.jpg'
|
||||
result = ocr.ocr(img_path, det=False, cls=True)
|
||||
for line in result:
|
||||
print(line)
|
||||
```
|
||||
|
||||
![](https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/release/2.0/doc/imgs_words/german/1.jpg)
|
||||
|
||||
结果是一个tuple,只包含识别结果和识别置信度
|
||||
|
||||
```
|
||||
('leider auch jetzt', 0.97538936)
|
||||
```
|
||||
|
||||
* 检测预测
|
||||
|
||||
```python
|
||||
from paddleocr import PaddleOCR, draw_ocr
|
||||
ocr = PaddleOCR() # need to run only once to download and load model into memory
|
||||
img_path = 'PaddleOCR/doc/imgs_en/img_12.jpg'
|
||||
result = ocr.ocr(img_path, rec=False)
|
||||
for line in result:
|
||||
print(line)
|
||||
|
||||
# 显示结果
|
||||
from PIL import Image
|
||||
|
||||
image = Image.open(img_path).convert('RGB')
|
||||
im_show = draw_ocr(image, result, txts=None, scores=None, font_path='/path/to/PaddleOCR/doc/fonts/simfang.ttf')
|
||||
im_show = Image.fromarray(im_show)
|
||||
im_show.save('result.jpg')
|
||||
```
|
||||
结果是一个list,每个item只包含文本框
|
||||
```bash
|
||||
[[26.0, 457.0], [137.0, 457.0], [137.0, 477.0], [26.0, 477.0]]
|
||||
[[25.0, 425.0], [372.0, 425.0], [372.0, 448.0], [25.0, 448.0]]
|
||||
[[128.0, 397.0], [273.0, 397.0], [273.0, 414.0], [128.0, 414.0]]
|
||||
......
|
||||
```
|
||||
|
||||
结果可视化 :
|
||||
![](https://raw.githubusercontent.com/PaddlePaddle/PaddleOCR/release/2.0/doc/imgs_results/whl/12_det.jpg)
|
||||
|
||||
ppocr 还支持方向分类, 更多使用方式请参考:[whl包使用说明](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.0/doc/doc_ch/whl.md)。
|
||||
|
||||
<a name="自定义训练"></a>
|
||||
## 3 自定义训练
|
||||
|
||||
ppocr 支持使用自己的数据进行自定义训练或finetune, 其中识别模型可以参考 [法语配置文件](../../configs/rec/multi_language/rec_french_lite_train.yml)
|
||||
修改训练数据路径、字典等参数。
|
||||
|
||||
具体数据准备、训练过程可参考:[文本检测](../doc_ch/detection.md)、[文本识别](../doc_ch/recognition.md),更多功能如预测部署、
|
||||
数据标注等功能可以阅读完整的[文档教程](../../README_ch.md)。
|
||||
|
||||
<a name="语种缩写"></a>
|
||||
## 4 支持语种及缩写
|
||||
|
||||
| 语种 | 描述 | 缩写 |
|
||||
| --- | --- | --- |
|
||||
|中文|chinese and english|ch|
|
||||
|英文|english|en|
|
||||
|法文|french|fr|
|
||||
|德文|german|german|
|
||||
|日文|japan|japan|
|
||||
|韩文|korean|korean|
|
||||
|中文繁体|chinese traditional |ch_tra|
|
||||
|意大利文| Italian |it|
|
||||
|西班牙文|Spanish |es|
|
||||
|葡萄牙文| Portuguese|pt|
|
||||
|俄罗斯文|Russia|ru|
|
||||
|阿拉伯文|Arabic|ar|
|
||||
|印地文|Hindi|hi|
|
||||
|维吾尔|Uyghur|ug|
|
||||
|波斯文|Persian|fa|
|
||||
|乌尔都文|Urdu|ur|
|
||||
|塞尔维亚文(latin)| Serbian(latin) |rs_latin|
|
||||
|欧西坦文|Occitan |oc|
|
||||
|马拉地文|Marathi|mr|
|
||||
|尼泊尔文|Nepali|ne|
|
||||
|塞尔维亚文(cyrillic)|Serbian(cyrillic)|rs_cyrillic|
|
||||
|保加利亚文|Bulgarian |bg|
|
||||
|乌克兰文|Ukranian|uk|
|
||||
|白俄罗斯文|Belarusian|be|
|
||||
|泰卢固文|Telugu |te|
|
||||
|卡纳达文|Kannada |kn|
|
||||
|泰米尔文|Tamil |ta|
|
||||
|南非荷兰文 |Afrikaans |af|
|
||||
|阿塞拜疆文 |Azerbaijani |az|
|
||||
|波斯尼亚文|Bosnian|bs|
|
||||
|捷克文|Czech|cs|
|
||||
|威尔士文 |Welsh |cy|
|
||||
|丹麦文 |Danish|da|
|
||||
|爱沙尼亚文 |Estonian |et|
|
||||
|爱尔兰文 |Irish |ga|
|
||||
|克罗地亚文|Croatian |hr|
|
||||
|匈牙利文|Hungarian |hu|
|
||||
|印尼文|Indonesian|id|
|
||||
|冰岛文 |Icelandic|is|
|
||||
|库尔德文 |Kurdish|ku|
|
||||
|立陶宛文|Lithuanian |lt|
|
||||
|拉脱维亚文 |Latvian |lv|
|
||||
|毛利文|Maori|mi|
|
||||
|马来文 |Malay|ms|
|
||||
|马耳他文 |Maltese |mt|
|
||||
|荷兰文 |Dutch |nl|
|
||||
|挪威文 |Norwegian |no|
|
||||
|波兰文|Polish |pl|
|
||||
| 罗马尼亚文|Romanian |ro|
|
||||
| 斯洛伐克文|Slovak |sk|
|
||||
| 斯洛文尼亚文|Slovenian |sl|
|
||||
| 阿尔巴尼亚文|Albanian |sq|
|
||||
| 瑞典文|Swedish |sv|
|
||||
| 西瓦希里文|Swahili |sw|
|
||||
| 塔加洛文|Tagalog |tl|
|
||||
| 土耳其文|Turkish |tr|
|
||||
| 乌兹别克文|Uzbek |uz|
|
||||
| 越南文|Vietnamese |vi|
|
||||
| 蒙古文|Mongolian |mn|
|
||||
| 阿巴扎文|Abaza |abq|
|
||||
| 阿迪赫文|Adyghe |ady|
|
||||
| 卡巴丹文|Kabardian |kbd|
|
||||
| 阿瓦尔文|Avar |ava|
|
||||
| 达尔瓦文|Dargwa |dar|
|
||||
| 因古什文|Ingush |inh|
|
||||
| 拉克文|Lak |lbe|
|
||||
| 莱兹甘文|Lezghian |lez|
|
||||
|塔巴萨兰文 |Tabassaran |tab|
|
||||
| 比尔哈文|Bihari |bh|
|
||||
| 迈蒂利文|Maithili |mai|
|
||||
| 昂加文|Angika |ang|
|
||||
| 孟加拉文|Bhojpuri |bho|
|
||||
| 摩揭陀文 |Magahi |mah|
|
||||
| 那格浦尔文|Nagpur |sck|
|
||||
| 尼瓦尔文|Newari |new|
|
||||
| 保加利亚文 |Goan Konkani|gom|
|
||||
| 沙特阿拉伯文|Saudi Arabia|sa|
|
Binary file not shown.
Before Width: | Height: | Size: 166 KiB After Width: | Height: | Size: 410 KiB |
63
paddleocr.py
63
paddleocr.py
|
@ -66,6 +66,46 @@ model_urls = {
|
|||
'url':
|
||||
'https://paddleocr.bj.bcebos.com/dygraph_v2.0/multilingual/japan_mobile_v2.0_rec_infer.tar',
|
||||
'dict_path': './ppocr/utils/dict/japan_dict.txt'
|
||||
},
|
||||
'chinese_cht': {
|
||||
'url':
|
||||
'https://paddleocr.bj.bcebos.com/dygraph_v2.0/multilingual/chinese_cht_mobile_v2.0_rec_infer.tar',
|
||||
'dict_path': './ppocr/utils/dict/chinese_cht_dict.txt'
|
||||
},
|
||||
'ta': {
|
||||
'url':
|
||||
'https://paddleocr.bj.bcebos.com/dygraph_v2.0/multilingual/ta_mobile_v2.0_rec_infer.tar',
|
||||
'dict_path': './ppocr/utils/dict/ta_dict.txt'
|
||||
},
|
||||
'te': {
|
||||
'url':
|
||||
'https://paddleocr.bj.bcebos.com/dygraph_v2.0/multilingual/te_mobile_v2.0_rec_infer.tar',
|
||||
'dict_path': './ppocr/utils/dict/te_dict.txt'
|
||||
},
|
||||
'ka': {
|
||||
'url':
|
||||
'https://paddleocr.bj.bcebos.com/dygraph_v2.0/multilingual/ka_mobile_v2.0_rec_infer.tar',
|
||||
'dict_path': './ppocr/utils/dict/ka_dict.txt'
|
||||
},
|
||||
'latin': {
|
||||
'url':
|
||||
'https://paddleocr.bj.bcebos.com/dygraph_v2.0/multilingual/latin_ppocr_mobile_v2.0_rec_infer.tar',
|
||||
'dict_path': './ppocr/utils/dict/latin_dict.txt'
|
||||
},
|
||||
'arabic': {
|
||||
'url':
|
||||
'https://paddleocr.bj.bcebos.com/dygraph_v2.0/multilingual/arabic_ppocr_mobile_v2.0_rec_infer.tar',
|
||||
'dict_path': './ppocr/utils/dict/arabic_dict.txt'
|
||||
},
|
||||
'cyrillic': {
|
||||
'url':
|
||||
'https://paddleocr.bj.bcebos.com/dygraph_v2.0/multilingual/cyrillic_ppocr_mobile_v2.0_rec_infer.tar',
|
||||
'dict_path': './ppocr/utils/dict/cyrillic_dict.txt'
|
||||
},
|
||||
'devanagari': {
|
||||
'url':
|
||||
'https://paddleocr.bj.bcebos.com/dygraph_v2.0/multilingual/devanagari_ppocr_mobile_v2.0_rec_infer.tar',
|
||||
'dict_path': './ppocr/utils/dict/devanagari_dict.txt'
|
||||
}
|
||||
},
|
||||
'cls':
|
||||
|
@ -233,6 +273,29 @@ class PaddleOCR(predict_system.TextSystem):
|
|||
postprocess_params.__dict__.update(**kwargs)
|
||||
self.use_angle_cls = postprocess_params.use_angle_cls
|
||||
lang = postprocess_params.lang
|
||||
latin_lang = [
|
||||
'af', 'az', 'bs', 'cs', 'cy', 'da', 'de', 'en', 'es', 'et', 'fr',
|
||||
'ga', 'hr', 'hu', 'id', 'is', 'it', 'ku', 'la', 'lt', 'lv', 'mi',
|
||||
'ms', 'mt', 'nl', 'no', 'oc', 'pi', 'pl', 'pt', 'ro', 'rs_latin',
|
||||
'sk', 'sl', 'sq', 'sv', 'sw', 'tl', 'tr', 'uz', 'vi'
|
||||
]
|
||||
arabic_lang = ['ar', 'fa', 'ug', 'ur']
|
||||
cyrillic_lang = [
|
||||
'ru', 'rs_cyrillic', 'be', 'bg', 'uk', 'mn', 'abq', 'ady', 'kbd',
|
||||
'ava', 'dar', 'inh', 'che', 'lbe', 'lez', 'tab'
|
||||
]
|
||||
devanagari_lang = [
|
||||
'hi', 'mr', 'ne', 'bh', 'mai', 'ang', 'bho', 'mah', 'sck', 'new',
|
||||
'gom', 'sa', 'bgc'
|
||||
]
|
||||
if lang in latin_lang:
|
||||
lang = "latin"
|
||||
elif lang in arabic_lang:
|
||||
lang = "arabic"
|
||||
elif lang in cyrillic_lang:
|
||||
lang = "cyrillic"
|
||||
elif lang in devanagari_lang:
|
||||
lang = "devanagari"
|
||||
assert lang in model_urls[
|
||||
'rec'], 'param lang must in {}, but got {}'.format(
|
||||
model_urls['rec'].keys(), lang)
|
||||
|
|
|
@ -0,0 +1,162 @@
|
|||
|
||||
!
|
||||
#
|
||||
$
|
||||
%
|
||||
&
|
||||
'
|
||||
(
|
||||
+
|
||||
,
|
||||
-
|
||||
.
|
||||
/
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
:
|
||||
?
|
||||
@
|
||||
A
|
||||
B
|
||||
C
|
||||
D
|
||||
E
|
||||
F
|
||||
G
|
||||
H
|
||||
I
|
||||
J
|
||||
K
|
||||
L
|
||||
M
|
||||
N
|
||||
O
|
||||
P
|
||||
Q
|
||||
R
|
||||
S
|
||||
T
|
||||
U
|
||||
V
|
||||
W
|
||||
X
|
||||
Y
|
||||
Z
|
||||
_
|
||||
a
|
||||
b
|
||||
c
|
||||
d
|
||||
e
|
||||
f
|
||||
g
|
||||
h
|
||||
i
|
||||
j
|
||||
k
|
||||
l
|
||||
m
|
||||
n
|
||||
o
|
||||
p
|
||||
q
|
||||
r
|
||||
s
|
||||
t
|
||||
u
|
||||
v
|
||||
w
|
||||
x
|
||||
y
|
||||
z
|
||||
É
|
||||
é
|
||||
ء
|
||||
آ
|
||||
أ
|
||||
ؤ
|
||||
إ
|
||||
ئ
|
||||
ا
|
||||
ب
|
||||
ة
|
||||
ت
|
||||
ث
|
||||
ج
|
||||
ح
|
||||
خ
|
||||
د
|
||||
ذ
|
||||
ر
|
||||
ز
|
||||
س
|
||||
ش
|
||||
ص
|
||||
ض
|
||||
ط
|
||||
ظ
|
||||
ع
|
||||
غ
|
||||
ف
|
||||
ق
|
||||
ك
|
||||
ل
|
||||
م
|
||||
ن
|
||||
ه
|
||||
و
|
||||
ى
|
||||
ي
|
||||
ً
|
||||
ٌ
|
||||
ٍ
|
||||
َ
|
||||
ُ
|
||||
ِ
|
||||
ّ
|
||||
ْ
|
||||
ٓ
|
||||
ٔ
|
||||
ٰ
|
||||
ٱ
|
||||
ٹ
|
||||
پ
|
||||
چ
|
||||
ڈ
|
||||
ڑ
|
||||
ژ
|
||||
ک
|
||||
ڭ
|
||||
گ
|
||||
ں
|
||||
ھ
|
||||
ۀ
|
||||
ہ
|
||||
ۂ
|
||||
ۃ
|
||||
ۆ
|
||||
ۇ
|
||||
ۈ
|
||||
ۋ
|
||||
ی
|
||||
ې
|
||||
ے
|
||||
ۓ
|
||||
ە
|
||||
١
|
||||
٢
|
||||
٣
|
||||
٤
|
||||
٥
|
||||
٦
|
||||
٧
|
||||
٨
|
||||
٩
|
|
@ -0,0 +1,163 @@
|
|||
|
||||
!
|
||||
#
|
||||
$
|
||||
%
|
||||
&
|
||||
'
|
||||
(
|
||||
+
|
||||
,
|
||||
-
|
||||
.
|
||||
/
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
:
|
||||
?
|
||||
@
|
||||
A
|
||||
B
|
||||
C
|
||||
D
|
||||
E
|
||||
F
|
||||
G
|
||||
H
|
||||
I
|
||||
J
|
||||
K
|
||||
L
|
||||
M
|
||||
N
|
||||
O
|
||||
P
|
||||
Q
|
||||
R
|
||||
S
|
||||
T
|
||||
U
|
||||
V
|
||||
W
|
||||
X
|
||||
Y
|
||||
Z
|
||||
_
|
||||
a
|
||||
b
|
||||
c
|
||||
d
|
||||
e
|
||||
f
|
||||
g
|
||||
h
|
||||
i
|
||||
j
|
||||
k
|
||||
l
|
||||
m
|
||||
n
|
||||
o
|
||||
p
|
||||
q
|
||||
r
|
||||
s
|
||||
t
|
||||
u
|
||||
v
|
||||
w
|
||||
x
|
||||
y
|
||||
z
|
||||
É
|
||||
é
|
||||
Ё
|
||||
Є
|
||||
І
|
||||
Ј
|
||||
Љ
|
||||
Ў
|
||||
А
|
||||
Б
|
||||
В
|
||||
Г
|
||||
Д
|
||||
Е
|
||||
Ж
|
||||
З
|
||||
И
|
||||
Й
|
||||
К
|
||||
Л
|
||||
М
|
||||
Н
|
||||
О
|
||||
П
|
||||
Р
|
||||
С
|
||||
Т
|
||||
У
|
||||
Ф
|
||||
Х
|
||||
Ц
|
||||
Ч
|
||||
Ш
|
||||
Щ
|
||||
Ъ
|
||||
Ы
|
||||
Ь
|
||||
Э
|
||||
Ю
|
||||
Я
|
||||
а
|
||||
б
|
||||
в
|
||||
г
|
||||
д
|
||||
е
|
||||
ж
|
||||
з
|
||||
и
|
||||
й
|
||||
к
|
||||
л
|
||||
м
|
||||
н
|
||||
о
|
||||
п
|
||||
р
|
||||
с
|
||||
т
|
||||
у
|
||||
ф
|
||||
х
|
||||
ц
|
||||
ч
|
||||
ш
|
||||
щ
|
||||
ъ
|
||||
ы
|
||||
ь
|
||||
э
|
||||
ю
|
||||
я
|
||||
ё
|
||||
ђ
|
||||
є
|
||||
і
|
||||
ј
|
||||
љ
|
||||
њ
|
||||
ћ
|
||||
ў
|
||||
џ
|
||||
Ґ
|
||||
ґ
|
|
@ -0,0 +1,167 @@
|
|||
|
||||
!
|
||||
#
|
||||
$
|
||||
%
|
||||
&
|
||||
'
|
||||
(
|
||||
+
|
||||
,
|
||||
-
|
||||
.
|
||||
/
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
:
|
||||
?
|
||||
@
|
||||
A
|
||||
B
|
||||
C
|
||||
D
|
||||
E
|
||||
F
|
||||
G
|
||||
H
|
||||
I
|
||||
J
|
||||
K
|
||||
L
|
||||
M
|
||||
N
|
||||
O
|
||||
P
|
||||
Q
|
||||
R
|
||||
S
|
||||
T
|
||||
U
|
||||
V
|
||||
W
|
||||
X
|
||||
Y
|
||||
Z
|
||||
_
|
||||
a
|
||||
b
|
||||
c
|
||||
d
|
||||
e
|
||||
f
|
||||
g
|
||||
h
|
||||
i
|
||||
j
|
||||
k
|
||||
l
|
||||
m
|
||||
n
|
||||
o
|
||||
p
|
||||
q
|
||||
r
|
||||
s
|
||||
t
|
||||
u
|
||||
v
|
||||
w
|
||||
x
|
||||
y
|
||||
z
|
||||
É
|
||||
é
|
||||
ँ
|
||||
ं
|
||||
ः
|
||||
अ
|
||||
आ
|
||||
इ
|
||||
ई
|
||||
उ
|
||||
ऊ
|
||||
ऋ
|
||||
ए
|
||||
ऐ
|
||||
ऑ
|
||||
ओ
|
||||
औ
|
||||
क
|
||||
ख
|
||||
ग
|
||||
घ
|
||||
ङ
|
||||
च
|
||||
छ
|
||||
ज
|
||||
झ
|
||||
ञ
|
||||
ट
|
||||
ठ
|
||||
ड
|
||||
ढ
|
||||
ण
|
||||
त
|
||||
थ
|
||||
द
|
||||
ध
|
||||
न
|
||||
ऩ
|
||||
प
|
||||
फ
|
||||
ब
|
||||
भ
|
||||
म
|
||||
य
|
||||
र
|
||||
ऱ
|
||||
ल
|
||||
ळ
|
||||
व
|
||||
श
|
||||
ष
|
||||
स
|
||||
ह
|
||||
़
|
||||
ा
|
||||
ि
|
||||
ी
|
||||
ु
|
||||
ू
|
||||
ृ
|
||||
ॅ
|
||||
े
|
||||
ै
|
||||
ॉ
|
||||
ो
|
||||
ौ
|
||||
्
|
||||
॒
|
||||
क़
|
||||
ख़
|
||||
ग़
|
||||
ज़
|
||||
ड़
|
||||
ढ़
|
||||
फ़
|
||||
ॠ
|
||||
।
|
||||
०
|
||||
१
|
||||
२
|
||||
३
|
||||
४
|
||||
५
|
||||
६
|
||||
७
|
||||
८
|
||||
९
|
||||
॰
|
|
@ -0,0 +1,185 @@
|
|||
|
||||
!
|
||||
"
|
||||
#
|
||||
$
|
||||
%
|
||||
&
|
||||
'
|
||||
(
|
||||
)
|
||||
*
|
||||
+
|
||||
,
|
||||
-
|
||||
.
|
||||
/
|
||||
0
|
||||
1
|
||||
2
|
||||
3
|
||||
4
|
||||
5
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
:
|
||||
;
|
||||
<
|
||||
=
|
||||
>
|
||||
?
|
||||
@
|
||||
A
|
||||
B
|
||||
C
|
||||
D
|
||||
E
|
||||
F
|
||||
G
|
||||
H
|
||||
I
|
||||
J
|
||||
K
|
||||
L
|
||||
M
|
||||
N
|
||||
O
|
||||
P
|
||||
Q
|
||||
R
|
||||
S
|
||||
T
|
||||
U
|
||||
V
|
||||
W
|
||||
X
|
||||
Y
|
||||
Z
|
||||
[
|
||||
]
|
||||
_
|
||||
`
|
||||
a
|
||||
b
|
||||
c
|
||||
d
|
||||
e
|
||||
f
|
||||
g
|
||||
h
|
||||
i
|
||||
j
|
||||
k
|
||||
l
|
||||
m
|
||||
n
|
||||
o
|
||||
p
|
||||
q
|
||||
r
|
||||
s
|
||||
t
|
||||
u
|
||||
v
|
||||
w
|
||||
x
|
||||
y
|
||||
z
|
||||
{
|
||||
}
|
||||
¡
|
||||
£
|
||||
§
|
||||
ª
|
||||
«
|
||||
|
||||
°
|
||||
²
|
||||
³
|
||||
´
|
||||
µ
|
||||
·
|
||||
º
|
||||
»
|
||||
¿
|
||||
À
|
||||
Á
|
||||
Â
|
||||
Ä
|
||||
Å
|
||||
Ç
|
||||
È
|
||||
É
|
||||
Ê
|
||||
Ë
|
||||
Ì
|
||||
Í
|
||||
Î
|
||||
Ï
|
||||
Ò
|
||||
Ó
|
||||
Ô
|
||||
Õ
|
||||
Ö
|
||||
Ú
|
||||
Ü
|
||||
Ý
|
||||
ß
|
||||
à
|
||||
á
|
||||
â
|
||||
ã
|
||||
ä
|
||||
å
|
||||
æ
|
||||
ç
|
||||
è
|
||||
é
|
||||
ê
|
||||
ë
|
||||
ì
|
||||
í
|
||||
î
|
||||
ï
|
||||
ñ
|
||||
ò
|
||||
ó
|
||||
ô
|
||||
õ
|
||||
ö
|
||||
ø
|
||||
ù
|
||||
ú
|
||||
û
|
||||
ü
|
||||
ý
|
||||
ą
|
||||
Ć
|
||||
ć
|
||||
Č
|
||||
č
|
||||
Đ
|
||||
đ
|
||||
ę
|
||||
ı
|
||||
Ł
|
||||
ł
|
||||
ō
|
||||
Œ
|
||||
œ
|
||||
Š
|
||||
š
|
||||
Ÿ
|
||||
Ž
|
||||
ž
|
||||
ʒ
|
||||
β
|
||||
δ
|
||||
ε
|
||||
з
|
||||
Ṡ
|
||||
‘
|
||||
€
|
||||
™
|
2
setup.py
2
setup.py
|
@ -32,7 +32,7 @@ setup(
|
|||
package_dir={'paddleocr': ''},
|
||||
include_package_data=True,
|
||||
entry_points={"console_scripts": ["paddleocr= paddleocr.paddleocr:main"]},
|
||||
version='2.0.3',
|
||||
version='2.0.4',
|
||||
install_requires=requirements,
|
||||
license='Apache License 2.0',
|
||||
description='Awesome OCR toolkits based on PaddlePaddle (8.6M ultra-lightweight pre-trained model, support training and deployment among server, mobile, embeded and IoT devices',
|
||||
|
|
Loading…
Reference in New Issue