Skip to content

OCR 模型配置说明 ​

OCR 模块将 模型元数据 / 生命周期诊断 与 推理调参 拆分,详见 OCRModelInfo与ModelConfig说明。

OCR Ex 系列通过 OcrSetModelConfig / OcrSetModelConfigByKey / OcrGetModelConfig 按 模型句柄 维度读写推理调参。

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

概念说明
modelHandle = 0内置 PP-OCR mobile 模型,无需 OcrLoadModel
modelHandle > 0OcrLoadModel / OcrLoadModelMemory 返回值
加密包类型OCR 与 YOLO 使用不同格式的欧拉加密包,请使用对应模块的加载/解密接口(见 YOLO 模块)

推荐流程 ​

  1. (可选)OcrEncryptModel 打包 NCNN 四文件 + 字典
  2. CreateCOLAPlugInterFace(不预热 OCR)
  3. OcrLoadModel 或使用内置 modelHandle=0
  4. OcrWarmupModel(async=1 不挡主流程)
  5. (可选)OcrSetModelConfig 或 OcrSetModelConfigByKey 微调阈值、GPU 等
  6. OcrEx / OcrDetailsEx / OcrFromPtrEx 等识别
  7. FreeStringPtr 释放返回字符串

configJson 字段(Set / Get 共用) ​

Set 时未出现的键保持不变。Get 成功时另含 Success、ModelHandle、BackendId、Runtime 及下表字段。

字段类型后端说明默认
OcrUseGpuboolncnn/paddle是否启用 GPU内置首次尝试 true
OcrGpuIdintncnn/paddleGPU 设备索引0
OcrCpuThreadsintncnn/paddleCPU 推理线程数8
OcrEnableMkldnnboolpaddleMKL-DNN 加速true
OcrPrecisionstringncnn/paddlefp32/fp16/int8/autoint8
OcrLimitSideLenintncnn检测前缩放目标边长960
OcrDetDbThreshdoublencnnDB 二值化阈值0.3
OcrDetDbBoxThreshdoublencnnDB 框置信度阈值0.6
OcrDetDbUnclipRatiodoublencnnDB 框扩张比例2.3
OcrRecImgHintncnn识别裁剪行高48
OcrRecImgWintncnn识别输入宽度上限320
OcrDisableFp16bool?ncnn禁用 FP16(null=自动)null
Runtimeobjectncnn/paddleCommon/Ncnn/Paddle 子对象(键名同为 PascalCase)—

不支持 load 后修改:模型路径、密码、BackendId 等加载期参数,需重新 OcrLoadModel。

Runtime 对象 ​

Runtime 可包含 Common、Ncnn、PaddleInference、PaddleInferenceDll 等子对象(如 UseGpu、GpuId、DisableFp16 等,键名均为 PascalCase)。


示例 ​

Set(JSON 对象)

json
{
  "OcrUseGpu": true,
  "OcrGpuId": 0,
  "OcrCpuThreads": 8,
  "OcrLimitSideLen": 960,
  "OcrDetDbThresh": 0.3
}

Set(单键)

cpp
OcrSetModelConfigByKey(ola, modelHandle, "OcrUseGpu", "false");
OcrSetModelConfigByKey(ola, modelHandle, "OcrDetDbThresh", "0.25");

Get 成功示例

json
{
  "Success": true,
  "ModelHandle": 1001,
  "BackendId": "ncnn",
  "OcrUseGpu": true,
  "OcrGpuId": 0,
  "OcrCpuThreads": 8,
  "OcrLimitSideLen": 960,
  "OcrDetDbThresh": 0.3,
  "OcrDisableFp16": null
}

与旧接口关系 ​

旧接口新接口
Ocr(无模型句柄)OcrEx(..., modelHandle),modelHandle=0 为内置 mobile
OcrDetailsOcrDetailsEx
OcrV5 / OcrV5Details 等(已移除)OcrEx / OcrDetailsEx 等
GetOcrConfig / SetOcrConfig / SetOcrConfigByKey(已移除)OcrGetModelConfig / OcrSetModelConfig / OcrSetModelConfigByKey