Halcon基于组建的匹配(二)

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
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值