Skip to content

OCR ModelInfo 与 ModelConfig 说明

OCR 模块将 模型元数据 / 生命周期诊断推理调参 拆分为两类接口,均返回 PascalCase JSON,须 FreeStringPtr 释放。

接口用途
OcrGetModelInfo / OcrListModels句柄、后端、生命周期状态、热身/激活诊断、Runtime 快照等
OcrGetModelConfig / OcrSetModelConfig / OcrSetModelConfigByKeyDB 阈值、GPU、线程数、Precision 等推理调参

JSON 键使用 PascalCase(大小写不敏感)。规则见 JSON配置解析约定


ModelInfo 主要字段(OcrGetModelInfo)

字段说明
Success查询是否成功
ModelHandle模型句柄;内置 mobile 为 0
State生命周期状态:created / loading / initializing / warming_up / ready / active / stale / unloading / unloaded / error
Active是否为当前 active 模型
Loaded后端是否已就绪且可推理
BackendId加载期配置的后端标识(如 ncnn / paddle
BackendRuntimeId运行时后端实例 ID
Name模型显示名
Source来源:builtin / file / memory
PackagePath磁盘加载时的加密包路径(OcrLoadModel / prepare file 源;内存加载通常无)
DeviceIndex加载时请求的设备索引(-1=CPU,≥0=GPU 索引)
InferenceDevice展示用 CPU / GPU0
HasDict模型包是否含识别字典
LastError最近一次错误信息(无则为空字符串)
Runtime运行时快照:UseGpuGpuIdCpuThreadsPrecisionDisableFp16Common
Warmup热身统计:RunsTotalMsLastRunMsWidthHeight
Activation激活 prime 统计:PrimeAttemptedPrimeRunsPrimeTotalMsPrimeLastRunMsPrimeWidthPrimeHeight

不含 password 等敏感字段;不含 完整可写推理配置(见 ModelConfig)。

失败示例:{"Success":false,"ModelHandle":1001,"Error":"Invalid OCR model handle."}


OcrListModels 返回结构

与 YOLO 直接返回数组不同,OCR 列表为 对象

字段说明
Success是否成功
ActiveModel当前 active 模型句柄
Models数组;元素字段同 OcrGetModelInfo

示例:

json
{
  "Success": true,
  "ActiveModel": 0,
  "Models": [
    {
      "Success": true,
      "ModelHandle": 0,
      "State": "active",
      "Active": true,
      "Loaded": true,
      "BackendId": "ncnn",
      "Name": "builtin-mobile",
      "Source": "builtin",
      "Runtime": { "UseGpu": false, "GpuId": 0, "CpuThreads": 8, "Precision": "int8" },
      "Warmup": { "Runs": 0, "TotalMs": 0 },
      "Activation": { "PrimeAttempted": true, "PrimeRuns": 1 }
    }
  ]
}

ModelConfig 字段(Set / Get 共用)

Set 时未出现的键保持不变。完整字段表见 OCR模型配置说明

OcrGetModelConfig 返回可写推理调参;OcrGetModelInfoRuntime 为当前生效快照,侧重诊断只读。


示例

OcrGetModelInfo(内置 handle=0)

json
{
  "Success": true,
  "ModelHandle": 0,
  "State": "active",
  "Active": true,
  "Loaded": true,
  "BackendId": "ncnn",
  "BackendRuntimeId": "ncnn",
  "Name": "builtin-mobile",
  "Source": "builtin",
  "LastError": "",
  "Runtime": {
    "UseGpu": false,
    "GpuId": 0,
    "CpuThreads": 8,
    "Precision": "int8",
    "DisableFp16": null,
    "Common": {}
  },
  "Warmup": { "Runs": 0, "TotalMs": 0, "LastRunMs": 0, "Width": 0, "Height": 0 },
  "Activation": { "PrimeAttempted": true, "PrimeRuns": 1, "PrimeTotalMs": 12.5 }
}

OcrSetModelConfig / OcrGetModelConfig

json
{
  "Success": true,
  "ModelHandle": 1001,
  "BackendId": "ncnn",
  "OcrUseGpu": false,
  "OcrLimitSideLen": 960,
  "OcrDetDbThresh": 0.3
}