这是由 FastAPI 包装的 Paddleocr 文本识别 API 接口,并使用 Pyinstaller 打包编译为可执行文件。
-
适用于大部分 Windows 操作系统,其他系统暂未测试
若提示缺少 DLL 异常,请检查是否未启用【桌面体验】功能
-
启动参数
参数 | 注解 | 缺省 |
---|---|---|
--host | 监听主机 | 127.0.0.1 |
--port | 监听端口 | 8000 |
--lang | 文本识别语言 | en |
--model-dir | 模型文件存放位置 | ~.paddleocr |
- 启动示例
.\PaddleocrAPI-v1.1.exe --lang=zh --model-dir=.\model
- 请求参数
参数 | 注解 | 缺省 |
---|---|---|
det | 识别 | True |
rec | 检测 | True |
cls | 方向分类器 | True |
-
请求示例
- 基础变量
url = 'http://127.0.0.1:8000/ocr' image_binary = open('demo.png', 'rb').read() image_base64 = base64.b64encode(image_binary).decode()
- 请求参数的使用
requests.post( url, params={'det': True, 'rec': True, 'cls': False}, data=image_base64 )
- 在请求体中以文本形式 POST 一张 Base64 格式图片(推荐)
response = requests.post(url, data=image_base64) print(json.dumps(response.json()))
- 在请求体中以 Form 表单形式 POST 一张或多张二进制图片
response = requests.post(url, files={'demo': image_binary}) print(json.dumps(response.json()))
- 在请求体中以 Form 表单形式 POST 一张或多张 Base64 格式图片
response = requests.post(url, data={'demo': image_base64}) print(json.dumps(response.json()))
- 在请求体中以 JSON 文本形式 POST 一张或多张 Base64 格式图片
response = requests.post(url, json={'demo': image_base64.decode()}) print(json.dumps(response.json()))
-
编译环境
-
操作系统:Windows Server 2008 R2 x64
注:需启用【桌面体验】功能
-
软件版本:Python 3.8.10
依赖参见 requirements.txt 文件
-
-
安装依赖
pip install -r requirements.txt
-
编译准备
- 修改 image.py 文件,防止占用过高
# .\venv\site-packages\paddle\dataset\image.py if six.PY3: ... import_cv2_proc = subprocess.Popen( [interpreter, "-c", "import cv2"], stdin=subprocess.PIPE, # <-- here stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) # <-- here ...
-
执行编译
pyinstaller --clean main.spec