# enginex-bi_series-paddleocr ## Build docker image ```bash docker build -t paddleocr:bi . ``` 其中,基础镜像 corex:3.2.1-ubuntu20.04-py3.10-slim 通过联系天数智芯天垓100厂商技术支持可获取 ## 测试 ### 下载模型 支持 PP-OCRv4及以下版本 PP-OCRv4模型: - det: https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_det_infer.tar - rec: https://paddleocr.bj.bcebos.com/PP-OCRv4/chinese/ch_PP-OCRv4_rec_infer.tar - cls: https://paddleocr.bj.bcebos.com/dygraph_v2.0/ch/ch_ppocr_mobile_v2.0_cls_infer.tar ### 测试 模型放在`/mnt/contest_ceph/zhanghao/models/ocr/`下,运行下面的测试程序,可以识别出示例图片中的文字 ```bash ./run_in_docker.sh python3 test.py ``` ## OCR API Server 提供了一个`http` API server,可以通过服务的方式加载模型以及进行图片识别,启动命令如下: ```bash ./run_in_docker.sh python3 app.py ``` http接口如下: ``` post /predict Content-Type: application/json # Request body: { files={'image': f}, data= {'image_name': "test.jpg"} # 图片文件名 } # Response: { "success": True, "result": [] #json_list } ``` json_list格式如下: ```json [ { "bbox": [0, 0, 100, 200], // 分别[左上角x,左上角y,右下角x,右下角y] "type": "", // 图片区域的类型,目前仅支持 Title "content": "今天", // 不同类型的内容不同,但都是“块”里的内容,目前为文本内容 "page": 1, // 目前都是1 "score": 0.9 // 版面分析,划出该 bbox 的 confidence 分数 } ] ``` - python请求示例 ```python f = open(local_image_path, "rb") res = requests.post(f"http://127.0.0.1:8080/predict", files={'image': f},data={'image_name': "a.jpg"}).json() ```