ddddocr通用识别本地服务封装方法

服务形式

# coding:utf-8
import os

from flask import Flask
from flask import jsonify
from flask import request
import ddddocr
from gevent import pywsgi
def ddddocr_loc(path_img):
    ocr = ddddocr.DdddOcr()
    with open(path_img, 'rb') as f:
        img_bytes = f.read()
    res = ocr.classification(img_bytes)
    res = ''.join(res)
    return res
# 创建对象
app = Flask(__name__)
# 构造 POST 请求
@app.route("/ddddocr_img", methods=["POST"])
def captcha_img():
    # request.form.get:获取 POST 请求的参数,
    path_img = request.form.get("path_img")
    ocr_result = ddddocr_loc(path_img)
    return jsonify({"result": ocr_result})
if __name__ == '__main__':
    # model_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'models')
    print("---通用识别服务启动成功---")
    # 解决 jsonify 中文乱码问题
    app.config['JSON_AS_ASCII'] = False
    # 以调试模式启动,host=0.0.0.0,则可以使用 127.0.0.1、localhost 以及本机 IP 来访问
    server = pywsgi.WSGIServer(('0.0.0.0', 1988), app)
    server.serve_forever()

请求方式

import requests
url = "http://127.0.0.1:1988/ddddocr_img"
data = {"path_img":'''C:\\Users\\Administrator\\Desktop\\aa.png'''}

res = requests.post(url=url,data=data)
print(res.text)

封装exe方法,文件路径根据自己实际路径进行修改;照搬肯定报错
common.onnx
common_det.onnx
common_old.onnx
onnxruntime_providers_shared.dll
1、执行以下命令
D:\Programs\Python\Lib\site-package为本地python的路径,以自己实际路径为准

pyinstaller -F captcha_win.py -p D:\Programs\Python\Lib\site-packages

2、删除build文件夹、删除dist文件夹
修改 spec文件
根据下面路径,找到以下文件
common.onnx、common_old.onnx、common_det.onnx、onnxruntime_providers_shared.dll
D:\Programs\Python\Lib\site-packages\onnxruntime\capi\onnxruntime_providers_shared.dll
D:\Programs\Python\Lib\site-packages\ddddocr\common.onnx
D:\Programs\Python\Lib\site-packages\ddddocr\common_old.onnx
D:\Programs\Python\Lib\site-packages\ddddocr\common_det.onnx
找到后,并将文件复制 到项目目录下:
修改datas文件:
将spec里面的datas修改为以下内容,直接将datas替换即可;

datas=[('./onnxruntime_providers_shared.dll','onnxruntime\\capi'),('./common.onnx','ddddocr'),('./common_det.onnx','ddddocr'),('./common_old.onnx','ddddocr')],

3,再次打包执行命令:

pyinstaller captcha_win.spec

  目录