群晖Docker部署通用文字识别PaddleOCR易语言调用PaddleOCR

1、在群晖Docker搜索paddlehub_ppocr

2、在Docker镜像中启动paddlehub_ppocr高级设置中设置端口把本地端口设置9000

3、环境的启动命令输入 /bin/bash -c "sh /PaddleOCR/start.sh"

 

4、调用 OCR

  1. 计算待识别图片的Base64编码
  2. 发送服务请求(发送参数,参考下面命令)
curl -H "Content-Type:application/json" -X POST --data "{"images": ["图片的Base64"]}" http://127.0.0.1:9000/predict/ocr_system
  1. 返回结果(如果调用成功,会返回如下结果)
{"msg":"","results":[[{"confidence":0.9853195548057556,"text":"测试图像路径,可以是单张图片路径,也可以是图像集合目录路径","text_region":[[5,10],[466,10],[466,24],[5,24]]}]],"status":"000"}

调用 OCR 代码示例

 

import requests
from pyefun import *
from pyefun.encoding.ebase64 import *

# 基于 Serverless 架构部署通用文字识别 PaddleOCR
# https://github.com/duolabmeng6/paddlehub_ppocr
# docker run -itd --name ppocr -p 9000:9000 ccr.ccs.tencentyun.com/llapi/pphubocr:1.0 /bin/bash -c "sh /PaddleOCR/start.sh"

def ocr(文件地址):
    image = base64编码(读入文件(文件地址))
    data = '{"images":["' + image + '"]}'
    txt = requests.post("http://127.0.0.1:9000/predict/ocr_system", data=data,
                        headers={'Content-Type': 'application/json'})
    return txt.content.decode("utf-8")

print(ocr("./test.png"))

5、更新模型文件

最新模型文件地址:https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.3/doc/doc_ch/models_list.md
文本方向分类模型 ch_ppocr_mobile_v2.0_cls_infer
文本检测模型 ch_ppocr_mobile_v2.0_det_infer
中文识别模型 ch_ppocr_mobile_v2.0_rec_infer
下载的时候直接下载推理模型就可以了

Docker启动PaddleOCR后 输入删除自带的模型然后停止。

rm -rf /PaddleOCR/inference/*

输入可以查询模型文件是否删除成功如果有输出路径说明没删掉反之删除成功。

find / -name "inference.pdiparams.info"

创建本地文件夹并且映射/PaddleOCR/inference/然后把模型放进去。

 

易语言调用代码

.版本 2
.支持库 spec

.程序集 窗口程序集_启动窗口

.子程序 __启动窗口_创建完毕



.子程序 _按钮1_被单击
.局部变量 t, 整数型

t = 取启动时间 ()
编辑框1.内容 = OCR (“http://192.168.3.198:9000//predict/ocr_system”, 图片框1.图片)
调试输出 (取启动时间 () - t)

.子程序 OCR, 文本型, 公开
.参数 url, 文本型
.参数 欲识别的图片, 字节集
.局部变量 返回文本, 文本型
.局部变量 提交数据, 文本型

提交数据 = “{” + #引号 + “images” + #引号 + “:[” + #引号 + 编码_BASE64编码 (欲识别的图片) + #引号 + “]}”
返回 (编码_Utf8到Ansi (网页_访问 (url, 1, 提交数据, , , “Content-Type: application/json”)))

 

 

阅读剩余
THE END