Leaper WaferScan Toolkit
中文 / English 2.x
Public 成员函数 | 属性
ILOCR接口 参考

该接口类提供字符分割、识别和质量检测功能。 更多...

类 ILOCR 继承关系图:
ILObject LOCR

Public 成员函数

LPVErrorCode Detect (ILImage *img, ILRegion *region, ILOCRResult **results)
 
LPVErrorCode DetectAndVerify (ILImage *img, ILRegion *region, ILOCRResult **results)
 
LPVErrorCode Segment (ILImage *img, ILRegion *region, ILOCRResult **results)
 
void SetCharSize (int w, int h, double wTolerance, double hTolerance)
 
void SetCharSkew (double skewLB, double skewUB)
 
- Public 成员函数 继承自 ILObject
ILObjectCopy ()
 
LPVErrorCode Load (LString filename)
 
void Reset ()
 
LPVErrorCode Save (LString filename)
 
BOOL Valid ()
 

属性

double AspectRatioChange [get, set]
 字符的长宽比变化比例,相对于字库中标准字符的标准长宽比。取值范围为 0.5 ~ 1.5,默认设置为 1,即无变化。
 
BOOL AutoDotPrint [get, set]
 是否启用自动点阵字符检测。默认关闭。
 
int CharHeightLB [get, set]
 字符高度估计值的下限,至少 1 个像素
 
int CharHeightUB [get, set]
 字符高度估计值的上限,需大于或等于其下限
 
double CharSkewLB [get, set]
 斜体字符斜切角度的下限,在 -60° ~ 60° 之间
 
double CharSkewUB [get, set]
 斜体字符斜切角度的上限,在 -60° ~ 60° 之间,需大于或等于其下限
 
int CharWidthLB [get, set]
 字符宽度估计值的下限,至少 1 个像素
 
int CharWidthUB [get, set]
 字符宽度估计值的上限,需大于或等于其下限
 
double DotGap [get, set]
 相邻点中心的最大距离。 默认设置为 0,将基于当前输入的所有点的间距分布,自动确定合适的阈值。
 
BOOL DotPrint [get, set]
 是否按点阵字符分割。默认为非点阵。
 
double DotSize [get, set]
 点阵中单个点的平均面积,用于区分某个前景对象属于字符点阵还是噪点或其他干扰项。 默认设置为 0,将基于当前输入的所有前景目标的面积分布,自动确定合适的阈值。
 
ILFontDatabase FontDatabase [get, set]
 关联的字库
 
int FragmentThreshold [get, set]
 可被作为字符片段的最大面积,字符片段将被合并到临近的字符或字符片段,形成一个合法字符。 默认设置为 0,将基于当前输入的所有前景目标的面积分布,自动确定合适的阈值。
 
int NoiseThreshold [get, set]
 字符或字符片段的最小面积. 默认设置为 0,将基于当前输入的所有前景目标的面积分布,自动确定合适的阈值。
 
LPVPolarity Polarity [get, set]
 字符相对于其背景的目标极性
 
LPVOCRSegmentFlags SegmentFlags [get, set]
 额外分割参数,用于控制行间和字符分割的行为
 
wchar_t UnknownPlaceholder [get, set]
 未知占位符。若字符识别失败,则在其识别结果中使用该占位符。默认为问号 '?'。
 
LPVOCVFlags VerifyFlags [get, set]
 字符质量检测中的评估项,开启后则该项目作用于最终的质量检测评分
 

详细描述

该接口类提供字符分割、识别和质量检测功能。

OCR 工具用于基于视觉技术的字符分割、识别和质量检测。 支持一次提取和分割多行文本,并能够分割激光打印标签中常见的行内连词和行间粘连。 字符识别和质量检测基于关联的字库及其训练的字符模型进行。

使用这个接口,需要创建一个 LOCR 对象。

示例代码

成员函数说明

◆ Detect()

LPVErrorCode Detect ( ILImage img,
ILRegion region,
ILOCRResult **  results 
)

分割并识别行和字符,基于输入的图像和区域

参数
[in]img 输入的图像
[in]region输入的区域。若该区域为旋转矩形区域,则该区域的角度将作为文本的大致方向。 对于其他类型的区域,文本的大致方向固定为图像的 x 轴方向。
[out]results返回字符分割和识别的结果
返回值
error返回错误码
参见
Segment(), DetectAndVerify()

◆ DetectAndVerify()

LPVErrorCode DetectAndVerify ( ILImage img,
ILRegion region,
ILOCRResult **  results 
)

分割和识别行和字符,并进行质量检测,基于输入的图像和区域

参数
[in]img 输入的图像
[in]region输入的区域。若该区域为旋转矩形区域,则该区域的角度将作为文本的大致方向。 对于其他类型的区域,文本的大致方向固定为图像的 x 轴方向。
[out]results返回字符分割和识别的结果,包含质量检测的评价分数
返回值
error返回错误码
参见
Segment(), Detect()

◆ Segment()

LPVErrorCode Segment ( ILImage img,
ILRegion region,
ILOCRResult **  results 
)

分割行和字符,基于输入的图像和区域

参数
[in]img 输入的图像
[in]region输入的区域。若该区域为旋转矩形区域,则该区域的角度将作为文本的大致方向。 对于其他类型的区域,文本的大致方向固定为图像的 x 轴方向。
[out]results返回字符分割的结果
返回值
error返回错误码
参见
Detect(), DetectAndVerify()

◆ SetCharSize()

void SetCharSize ( int  w,
int  h,
double  wTolerance,
double  hTolerance 
)

设置字符估计尺寸的范围

参数
[in]w估计宽度
[in]h估计高度
[in]wTolerance宽度的容差范围百分数,生成的估计宽度范围为: \( w /times (1 - wTol \%) ~ w /times (1 + wTol \%) \)
[in]hTolerance高度的容差范围百分数,生成的估计高度范围为: \( h /times (1 - hTol \%) ~ h /times (1 + hTol \%) \)

◆ SetCharSkew()

void SetCharSkew ( double  skewLB,
double  skewUB 
)

设置斜体字符的斜切角度范围,在 -60° ~ 60° 之间

参数
[in]skewLB斜切角度范围下限
[in]skewUB斜切角度范围上限