主题
OCR ModelInfo 与 ModelConfig 说明
OCR 模块将 模型元数据 / 生命周期诊断 与 推理调参 拆分为两类接口,均返回 PascalCase JSON,须 FreeStringPtr 释放。
| 接口 | 用途 |
|---|---|
| OcrGetModelInfo / OcrListModels | 句柄、后端、生命周期状态、热身/激活诊断、Runtime 快照等 |
| OcrGetModelConfig / OcrSetModelConfig / OcrSetModelConfigByKey | DB 阈值、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 | 运行时快照:UseGpu、GpuId、CpuThreads、Precision、DisableFp16、Common 等 |
Warmup | 热身统计:Runs、TotalMs、LastRunMs、Width、Height |
Activation | 激活 prime 统计:PrimeAttempted、PrimeRuns、PrimeTotalMs、PrimeLastRunMs、PrimeWidth、PrimeHeight |
不含 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 返回可写推理调参;OcrGetModelInfo 的 Runtime 为当前生效快照,侧重诊断只读。
示例
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
}