我的词典:OCR识别服务API
系列文章
- 我的词典:0.3.4开发手记
- 我的词典:0.5.5
- 我的词典:OCR识别服务
- 我的词典:OCR识别服务API【当前文章】
OCR识别服务
该服务为我的词典
的OCR识别后端服务,可以实现英语、中文的OCR识别。
项目地址
https://github.com/xxNull-lsk/my_dict_ocr
docker镜像下载地址
https://hub.docker.com/r/xxnull/my_dict_ocr
离线镜像下载
接口
获取版本号
-
协议:
{zmq.REQ}
-
协议格式:
{json}
-
输入
{ "function": "/version" }
字段 | 类型 | 含义 |
---|---|---|
function | string | 功能号 |
-
输出
{ "code": 0, "message": "succeed", "version": "xxx" }
字段 | 类型 | 含义 |
---|---|---|
code | int | 返回码 |
message | string | 消息 |
version | string | 版本号 |
心跳
-
协议:
{zmq.REQ}
-
协议格式:
{json}
-
输入
{ "function": "/tick" }
字段 | 类型 | 含义 |
---|---|---|
function | string | 功能号 |
-
输出
{ "code": 0, "message": "succeed" }
字段 | 类型 | 含义 |
---|---|---|
code | int | 返回码 |
message | string | 消息 |
识别文本
-
协议:
{zmq.REQ}
-
协议格式:
{json}
-
输入
{ "function": "/ocr/get_text", "image": "......" }
字段 | 类型 | 含义 |
---|---|---|
function | string | 功能号 |
image | string | Base64编码的图片内容 |
-
输出
{ "code": 0, "message": "succeed", "data": [ { "rect": [x, y, width, height], "text": "识别出来的文本", "score": 0.99 } ] }
字段 | 类型 | 含义 |
---|---|---|
code | int | 返回码 |
message | string | 消息 |
data | arrary | 识别结果数组 |
data[i].rect | array[float] | 文字的矩形框 |
data[i].text | string | 识别出来的文本 |
data[i].score | float | 置信度 |
例子
import cv2
import zmq
import base64
context = zmq.Context()
socket: zmq.Socket = context.socket(zmq.REQ)
socket.connect("tcp://127.0.0.1:12126")
mat = cv2.imread("./first.png")
img = cv2.imencode('.jpg', mat)[1]
data = {
"function": "/ocr/get_text",
"image": base64.b64encode(img).decode('utf8')
}
socket.send_string(json.dumps(data))
response = socket.recv_string()
print(response)
返回码
code | message | 说明 |
---|---|---|
0 | succeed | 成功 |
-1 | not support | 不支持的功能号 |
系列文章
- 我的词典:0.3.4开发手记
- 我的词典:0.5.5
- 我的词典:OCR识别服务
- 我的词典:OCR识别服务API【当前文章】