1.
创建训练组件之后的模型Create_trained_component_model()
ComponentTrainingID:输入组件模型句柄
AngleStart:输入起始角度
AngleExtend:输入角度范围
MinContrastComp:被搜索图像中组件的最小差别
MinScoreComp:与该模型的最小匹配值
NumLevelsComp::金字塔级数
AngleStepComp:输入匹配旋转角度的步长
Optimization:设置模板优化和模板创建方法
MetricComp:设置匹配方法
PregenerationComp:是否重新生成该组件
ComponentModelID:输出组件匹配模型的句柄
RootRanking:输出该组件匹配模型的根成分
2.
得到组件模型树get_component_model_tree()
Tree:输出搜索树
Relations:输入组件模型与样品之间的关系
ComponentModelID:输入组件模型句柄
Image:用以显示搜索树对应的图像,‘model_image’模型图象
StartNode:输出搜索树索引起点
EndNode输出搜索树索引终点
Row:
Column
Phi
Length1
Length2
AngleStart
AngleExtent
3.
清除训练组件clear_component_model()
4.
寻找组件模型find_component_model()
Image:输入需要匹配的图像
ComponentModelID:组建模型句柄
RootRanking:组件匹配根成分的索引
AngleStart:开始的角度
AngleExtentRoot:角度范围
MinScore:于该模型最小的匹配度
NumMatches:最大的匹配数量
MaxOverlap重叠系数
IfRootNotFound:如果没有发现目标
IfComponentNotFound:如果一个目标目标组件都没有
PosePrediction:输入搜索目标组件的姿势
MinScoreComp:与匹配模型最小匹配值
SubPixel:确定找到的目标是否使用亚像素精度提取
NumLevelsComp:输入金字塔级数
GreedinessComp贪婪程度
5.
根据搜索得到目标组件来提取对应的匹配模型根成分get_found_component_model()
FoundComponents输出发现的模型组件
ComponentModelID输入组件匹配模型
ModelStart输入发现的组件模型对应的在组件(元祖)的起始索引
ModelEnd输入发现的组件模型对应的在组件(元祖)的结束索引
RowComp输入
ColumnComp输入
AngleComp输入
ScoreComp输入
ModelComp输入
ModelMatch输入搜索得到的目标组件索引
MarkOrientation是否通过马赛克定位
RowCompInst
ColumnCompInst
AngleCompInst
ScoreCompInst输出例子中目标组件的得分
6.
清除组件模型clear_component_model()
MinScoreComp := gen_tuple_const(13,0.8)
MinScoreComp[0] := 0.4
NumLevelsComp := gen_tuple_const(13,0)
NumLevelsComp[0] := 4
create_trained_component_model(ComponentID,0,rad(360),10,0.4,0,'auto','none','use_polarity','false',ComponentModelID,RootRanking)
get_component_model_tree(tree,Relations,ComponentModelID,RootRanking,'model_image',StartNode, EndNode, Row2, Column2, Phi1, Length11, Length21, AngleStart1, AngleExtent1)
clear_training_components(ComponentID)
read_image (SearchImage, 'dip_switch/dip_switch_02')
find_component_model(SearchImage,ComponentModelID,RootRanking,0,rad(360),0,0,0.5,'stop_search','prune_branch','none',0.5,'least_squares',0,0.9,ModelStart, ModelEnd, Score1, RowComp, ColumnComp, AngleComp, ScoreComp, ModelComp)
get_found_component_model(founfComponent,ComponentModelID,ModelStart, ModelEnd, RowComp, ColumnComp, AngleComp, ScoreComp, ModelComp, 0, 'false', RowCompInst, ColumnCompInst, AngleCompInst, ScoreCompInst)
vector_angle_to_rigid(RowCompInst[0],ColumnCompInst[0],AngleCompInst[0]-0.022,Row[0],Column[0],Angle[0],hommat2d)
affine_trans_point_2d(hommat2d,RowCompInst, ColumnCompInst, Qx, Qy)
gen_region_points(regions,Qx, Qy)
for i:=1 to 12 by 1
if(Qx[i]<304)
disp_message(window1, 1, 'image', Qx[i], Qy[i], 'black', 'true')
else
disp_message (window1, 0, 'image', Qx[i], Qy[i], 'black', 'true')
endif
endfor