umi-ocr 非公开

分类
点赞
ImmortalSty 1 人点赞了这个动作。
更多信息
分享人 涛涛涛
分享时间 17天2小时前
最后更新 16天12小时前
修订版本 3
子程序大小 8.3 KB
Quicker版本 1.44.10.0

介绍

1.选择文件路径
2.图片转换Base64

图片/Base64 转换是其UmiOCR提供的HTTP接口一种方式。

这是使用文件路径的HTTP接口方式。(自己改的可以使用

将\\UmiOCR-data\py_src\server\ocr_server.py文件中的函数改一下,增加颜色文字的代码

# 路由函数

def init(UmiWeb):

    @UmiWeb.route("/api/ocr/get_options")

    def _get_options_json():

        opts = get_ocr_options()

        res = json.dumps(opts)

        return res


    """

    执行OCR,方法:POST

    参数:

    "base64": "", # 必填

    "options": {}, # 选填,内容与 _get_options 的对应。

    """


    @UmiWeb.route("/api/ocr", method="POST")

    def _ocr():

        try:

            data = request.json

        except Exception as e:

            return json.dumps({"code": 800, "data": f"请求无法解析为json。 {e}"})

        if not data:

            return json.dumps({"code": 801, "data": "请求为空。"})

        #if "base64" not in data:

        #    return json.dumps({"code": 802, "data": "请求中缺少 base64 字段。"})

        if "path" not in data and "base64" not in data:

            return json.dumps({"code": 802, "data": f"请求中缺少 base64 或 path 字段。"})

        if "path" in data:

            msnList = [{"path": data["path"]}]

        else:

            msnList = [{"base64": data["base64"]}]

        if "options" not in data:

            data["options"] = {}

        elif not isinstance(data["options"], dict):

            return json.dumps({"code": 803, "data": "请求中 options 字段必须为字典。"})

        try:

            # 补充缺失的默认参数

            opt = data["options"]

            default = get_ocr_options()

            for key in default:

                if key not in opt:

                    opt[key] = default[key]["default"]

            # 检查OCR参数

            check_ocr_options(opt)

        except Exception as e:

            return json.dumps({"code": 804, "data": f"options 解释失败。 {e}"})

        # 同步执行

        resList = MissionOCR.addMissionWait(opt, msnList)

        res = resList[0]["result"]

        if opt["data.format"] == "text":  # 转纯文本

            if res["code"] == 100:

                res["data"] = getDataText(res["data"])

        res = json.dumps(res)

        return res

子程序的参数

输入
操作项 Text
文件路径 默认的文本变量 Text
输出
输出文字 Dict

最近更新

修订版本 更新时间 更新说明
3 16天12小时前 1
2 16天13小时前 加个参数
1 17天2小时前 1

最近讨论

暂无讨论