Leaper Vision Toolkit
中文 / English 2.x
LMatch类 参考
类 LMatch 继承关系图:
ILMatch ILObject

额外继承的成员函数

- Public 成员函数 继承自 ILMatch
void GetPatCenter (double *patX, double *patY, double *patAngle)
 
LPVPatCenterMode GetPatCenterMode ()
 
ILPointsGetPatFeature (int level)
 
void GetPatImage (ILImage *img)
 
void GetPatMask (ILImage *mask)
 
void GetPatPruneMask (ILImage *mask)
 
LArray< ILPolygon * > GetPatShape (int level)
 
BOOL IsLearnt ()
 
LPVErrorCode Learn (ILImage *img, ILRegion *region)
 
LPVErrorCode LearnWithShape (ILImage *img, ILRegion *region, ILRegion *shapeRegion)
 
LPVErrorCode LearnWithShapeImage (ILImage *img, ILRegion *region, ILImage *shapeImg)
 
LPVErrorCode Match (ILImage *img, ILRegion *region, ILMatchResults **results)
 
LPVErrorCode Prune (ILImage *img, ILRegion *region, LArray< int > shapeIdx0, LArray< int > shapeIdx1)
 
void SetPatCenter (LPVPatCenterMode centerMode, double patX, double patY, double patAngle)
 
- Public 成员函数 继承自 ILObject
ILObjectCopy ()
 
LPVErrorCode Load (LString filename)
 
void Reset ()
 
LPVErrorCode Save (LString filename)
 
BOOL Valid ()
 
- 属性 继承自 ILMatch
int AcceptScore [get, set]
 用于筛选匹配结果的最小匹配分数,取值在 1 ~ 100 的范围。分数越高表示匹配标准越严格。
匹配搜索过程并不会遍历所有候选位置,而是先基于候选位置与模板的近似相似度进行排序,然后依次优化其最终的匹配位置、角度和缩放比例等到亚像素精度。 当找到足够多的满足匹配分数的结果时,将停止搜索。
 
int AccuracyLevel [get, set]
 精度等级,高精度等级通常意味着更精确和更稳定的匹配结果,但可能同时会降低匹配速度。
取值可为:0(低精度),1(中等精度,默认值)或者 2(高精度)
 
int AngleBias [get, set]
 角度偏移,取值在 -180 ~ 180 之间。默认设置为 0。
 
int AngleTolerance [get, set]
 角度范围,取值在 0 ~ 180 之间。默认设置为 5。
匹配的角度搜索区间基于角度的偏移及范围生成为 \( AngleBias \pm AngleTolerance \)
 
double DetailLevel [get, set]
 模板细节程度,取值范围为 0 ~ 1,默认设置为 0.5。
数值越高,保留的细节越多,同时也可能引入更多的噪声,并影响算法的整体性能。 设置或修改模板细节程度后,需重新调用 Learn() 训练模板,特征点将在新的训练过程中按照细节程度重新提取。 更多...
 
BOOL ExcludeBoundary [get, set]
 是否剔除图像或区域边界上的匹配结果
 
int GrayValueWeight [get, set]
 融合匹配权重,用于合并基于形状相似性的匹配分数和基于灰度特征的匹配分数。
默认设置为 0, 即灰度分数不参与匹配评价。最终匹配分数按照该公式计算: \( Score = Score_{shape} \times (1 - w) + Score_{gray} \times w \) .
 
BOOL IgnoreMissing [get, set]
 缺失部分是否负面影响最终匹配结果。默认设置为 true,即计分时忽略缺失部分、且不启用缺失比例检查。
 
BOOL IgnorePolarity [get, set]
 是否在匹配过程中忽略边缘极性。默认关闭这个配置。
 
BOOL IsotropicScale [get, set]
 是否保持缩放长宽比,默认设置为 true
 
int MaxCount [get, set]
 期望的最大匹配数量
 
int MissingTolerance [get, set]
 匹配结果的最大缺失比例(百分比)。 取值范围在 0 ~ 100 之间,为百分数。默认设置为 50,表示最多可以接受 50% 的缺失比例。
注意缺失比例检查是否启用由 IgnoreMissing 属性控制。当 IgnoreMissing 为 False 时,启用缺失比例检查。
 
int Overlap [get, set]
 匹配结果之间的最大重叠比例(百分比)。匹配结果中的缺失特征也计入重叠比例,视为与背景的重叠。 取值范围在 1 ~ 80 之间,为百分数。默认设置为 50,表示 50% 的重叠比例。推荐的取值在 30 ~ 70 附近。
 
int ScaleBias [get, set]
 尺寸缩放偏移,取值在 50 ~ 150 百分数。默认设置为 100。
 
int ScaleTolerance [get, set]
 尺寸缩放范围,取值在 0 ~ 50 百分数。默认设置为 0。
匹配的尺寸缩放搜索区间基于缩放的偏移和缩放范围生成为 \( ScaleBias \pm ScaleTolerance \) .
 
BOOL StrictScore [get, set]
 是否在匹配过程中启用严格评分。默认关闭这个配置。
若启用严格评分,匹配结果的分数将基于原始图像和所有特征细节计算。否则,分数可能在缩小并平滑后的图像上计算,该过程更快速但相比前者考虑更少细节。
 
BOOL UseCache [get, set]
 是否在匹配过程中使用缓存数据。 开启缓存将稍微加快匹配过程,但占用更多的内存。默认开启这个配置。
 
- 属性 继承自 ILObject
LString Name [get, set]
 对象的名称,默认为空。
大多数情况下,LPV 算法类并不使用这个名称。
ILDrawable::SetDrawName() 启用,该名称将被绘制在对象的附近 更多...
 

详细描述

该类实现了 ILMatch 接口, 用于创建模板匹配工具的实例