从字库中识别文字 - OcrFromDictPtrDetails
函数简介
从字库中识别指定图片的文字并返回详细信息,需提前加载数据库。支持多个字库同时识别,多个字库用 | 分割,如 dict1|dict2。
接口名称
OcrFromDictPtrDetails
DLL调用
long OcrFromDictPtrDetails(long instance, long ptr, string colorJson, string dict_name, double matchVal);
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | 长整数型 | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。 |
| ptr | 长整数型 | 图像指针 |
| colorJson | 字符串 | 颜色模型配置字符串,用于限定图像匹配中的颜色范围,格式说明见 颜色模型说明 - ColorModel。JSON格式示例:[{"StartColor":"3278FA","EndColor":"6496FF","Type":0}];简化格式示例:`3278FA-000000 |
| dict_name | 字符串 | 字库名称,为空时搜索所有字库,也可以传入字库文件如 dict.txt |
| matchVal | 双精度浮点数 | 匹配值 |
示例
C++
long instance = CreateCOLAPlugInterFace();
long imgPtr = LoadImage(instance, "test.bmp");
// 从字库"mydict"中识别指定图片文字并返回详细信息
long resultPtr = OcrFromDictPtrDetails(instance, imgPtr, "FFFFFF-101010", "mydict", 0.85);
char* json = GetStringFromPtr(instance, resultPtr);
FreeStringPtr(instance, resultPtr);
Python
# 待补充
返回值
字符串指针地址,返回识别到的JSON字符串,如:
{
"Regions": [
{
"Score": 0,
"Text": "bbbbbb",
"Center": { "x": 100, "y": 200 },
"Vertices": [
{ "x": 75, "y": 190 },
{ "x": 125, "y": 190 },
{ "x": 125, "y": 210 },
{ "x": 75, "y": 210 }
],
"Angle": 0
}
],
"Text": "bbbbbb"
}
| 字段名 | 类型 | 说明 |
|---|---|---|
| Regions | 数组 | Regions 结果列表,详见下方字段说明。 |
| Text | 字符串 | 识别文本。 |
Regions 元素字段说明:
| 字段名 | 类型 | 说明 |
|---|---|---|
| Score | 整数 | 识别置信度分值。 |
| Text | 字符串 | 识别文本。 |
| Center | 对象 | 中心点坐标对象。 |
| Vertices | 数组 | 顶点坐标集合。 |
| Angle | 整数 | 角度值。 |
Regions[].Center 字段说明:
| 字段名 | 类型 | 说明 |
|---|---|---|
| x | 整数 | X 坐标。 |
| y | 整数 | Y 坐标。 |
Regions[].Vertices 元素字段说明:
| 字段名 | 类型 | 说明 |
|---|---|---|
| x | 整数 | X 坐标。 |
| y | 整数 | Y 坐标。 |
- Regions:所有识别到的数据集
- Score:识别评分,分值越高越准确
- Center:识别结果中心点
- Vertices:识别结果的4个顶点
- Angle:识别结果角度
返回的字符串指针需调用 FreeStringPtr 释放内存。
