EasyOcr的简单使用

背景

之前因为需要识别验证码是中文的接口,除了使用百度提供的免费次数,自己查找了网上的方案,发现了easyocr这个项目,于是搭建了服务器环境,安装easyocr之后,编写一个程序提供了一个识别中文验证码的接口,当时的识别效率还可以,当时的中文验证码也没有很复杂。

这里把当时的代码记录一下,以备后用。

代码实现

代码如下:

# coding=utf-8
import base64
import uuid

from flask import Flask
from flask import request, json
import easyocr
import os

app = Flask(__name__)

# 接口的入参是验证码图片的base64
@app.route('/easyocr', methods=['POST'])
def sendMessageToOa():
    try:
        data = request.get_data()
        json_data = json.loads(data.decode("UTF-8"), strict=False)
        base64_str = json_data.get("base64")
        allow = json_data.get("allow")
        image_data = base64.b64decode(base64_str)
        file_name = str(uuid.uuid1()) + ".jpg"
        file = open(file_name, "wb")
        file.write(image_data)
        file.close()
        r = easyocr.Reader(['ch_sim'],gpu = False)
        res = r.readtext(file_name, detail=0, allowlist=allow)
        os.remove(file_name)
        return '{"status":"200", "result":"' + res[0] + '"}'
    except Exception as e:
        print(e)
        return '{"status":"500"}'


if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8181)

按照官方github仓库进行安装应该没啥大问题,只不过记得当时的那个模型下载了很久。

我部署的是在远程服务器上面,使用root进行安装的,所以模型的位置是在:

/root/.EasyOCR/model

具体的模型名称如下:
在这里插入图片描述
我应该把这两个模型保存起来,下次直接放到对应的位置应该就不用下载这么久了。

我真机智!


20211013

你可能感兴趣的:(Python,flask,python,easyocr)