该接口类表示用于字符识别的字库对象。 更多...
Public 成员函数 | |
| void | AddOCRChar (ILOCRChar *charData, LString charString) |
| void | AddOCRLine (ILOCRLine *lineData, LString lineString) |
| void | AddOCRResult (ILOCRResult *resultData, LString resultString) |
| int | CountChar () |
| ILSampleDatabase * | CreateChar (LString charString) |
| ILSampleDatabase * | GetCharDatabase (LString charString) |
| void | Init (LString fontName, LString workingDirectory) |
| BOOL | IsInMemory () |
| 是否为内存数据库,即样本文件和数据库信息不保存,只暂留在内存中。 | |
| BOOL | IsTrained () |
| LString | ItemChar (int index) |
| void | RemoveChar (LString charString) |
| LPVErrorCode | Train () |
Public 成员函数 继承自 ILObject | |
| ILObject * | Copy () |
| LPVErrorCode | Load (LString filename) |
| void | Reset () |
| LPVErrorCode | Save (LString filename) |
| BOOL | Valid () |
属性 | |
| BOOL | AutoFeature [get, set] |
| 是否在训练中开启自动特征选择和优化。默认关闭这个配置。 | |
| BOOL | AutoModel [get, set] |
| 是否在训练中开启自动模型选择和优化。默认关闭这个配置。 | |
| LPVOCRFeatures | Features [get, set] |
| 字符识别中使用的特征类型。默认为 LPVOCRFeatureDefault。 更多... | |
| LPVModelType | ModelType [get, set] |
| 字符识别中使用的机器学习模型类型 | |
| LString | Name [get] |
| 字库名称,通常为全局唯一的,用于区分和标识该字库。 | |
| LSize | PixelGrid [get, set] |
| 像素特征中使用的网格尺寸,当特征包含 LPVOCRFeaturePixel 时生效。默认为 \( 6 \times 8 \) 网格。 | |
| LPVOCRPixelProjection | PixelProjection [get, set] |
| 像素特征中使用的网格投影方式,当特征包含 LPVOCRFeaturePixel 时生效。默认配置为 LPVOCRPixelProjNone 即无投影。 | |
| LPVOCRPixelValue | PixelValue [get, set] |
| 像素特征中使用的计算网格像素值方法,当特征包含 LPVOCRFeaturePixel 时生效。 默认配置为 LPVOCRPixelGrayscaleNormalized 即归一化灰度值。 | |
| LString | WorkingDir [get] |
| 字库的工作目录。 对于持久化数据库,该工作目录用于存储样本文件和管理信息文件。对于内存数据库,该工作目录为固定的 "in-memory" 文本。 | |
该接口类表示用于字符识别的字库对象。
字库用于管理字符样本,并训练基于机器学习技术的分类模型以用于字符识别。 该算法类提供了多种基于图像或几何属性的专用于字符识别的特征,并支持高级自动特征选择和模型优化(如果有足够的字符样本)。 字库可构建到指定的文件目录,并被多个 OCR 工具共享。
使用这个接口,需要创建一个 LFontDatabase 对象。
将单个字符对象加入字库,作为训练样本
| [in] | charData | 输入的单个字符对象。 |
| [in] | charString | 识别字符文本。若为空,则使用 charString 中的识别结果作为训练字符。 |
将单行文本对象中的所有字符加入字库,作为训练样本
| [in] | lineData | 输入的单行文本对象,需至少包含一个字符。 |
| [in] | lineString | 识别字符文本。需包含与 lineData 个数相同的字符。若文本为空,则使用 lineData 中的识别结果作为训练字符。 |
| void AddOCRResult | ( | ILOCRResult * | resultData, |
| LString | resultString | ||
| ) |
将 OCR 结果对象中的所有字符加入字库,作为训练样本
| [in] | resultData | 输入的 OCR 结果对象,需至少包含一行或一个字符。 |
| [in] | resultString | 识别字符文本。需包含与 resultData 个数相同的字符。若文本为空,则使用 resultData 中的识别结果作为训练字符。 |
| int CountChar | ( | ) |
| ILSampleDatabase* CreateChar | ( | LString | charString | ) |
新建字符,并同时在字库下创建该字符的样本库。
| [in] | charString | 字符代码 |
| charDB | 返回该字符对应的样本库 |
| ILSampleDatabase* GetCharDatabase | ( | LString | charString | ) |
创建和初始化字库。
| [in] | fontName | 字库名称 |
| [in] | workingDirectory | 工作目录路径。 对于内存数据库,设置工作目录为空。 对于其他非空路径,将创建一个持久化数据库,并在该目录下初始化一个空数据库。因此,该工作目录需为一个可读可写的路径。 若该目录下已存在一个样本数据库,将优先加载该数据库,标识符将可能被替换为加载的名称。 |
| BOOL IsTrained | ( | ) |
检查该字库是否已训练
| val | 若已训练,返回 True,否则返回 False。 |
| LString ItemChar | ( | int | index | ) |
获取索引对应的字符
| [in] | index | 输入索引,从 0 开始但小于总数的数字 |
| result | 返回索引对应的字符代码 |
| void RemoveChar | ( | LString | charString | ) |
从字库中移除某一个字符。注意,该字符对应的样本库并不会被彻底删除,若无需保留,需手动删除该样本库。
| [in] | charString | 需删除的字符代码 |
| LPVErrorCode Train | ( | ) |
训练字库。若启用自动特征或样本选择,则在训练过程中进行自动筛选和调参。
| error | 返回错误码。 |
|
getset |
字符识别中使用的特征类型。默认为 LPVOCRFeatureDefault。
/*!