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
    评论
解决方案指导------匹配(Matching)(1章、2章、3章) 1 第一章 简介 5 1.1 怎样使用该手册? 5 1.2 匹配是什么? 5 1.3 如何进行一般的匹配? 6 1.4 可用的方法有哪些? 6 1.5哪种方法适用于哪种情况? 7 1.5.1 匹配方法:2D与3D的比较 7 1.5.2 3D空间中3D对象和2D对象的决策 8 1.5.3 正交成像2D对象的第一个决策 10 1.5.4 基于形状的匹配VS基于相关性的匹配 11 1.5.5匹配方法的快速指南 12 第章 总论 14 2.1 准备模板 15 2.1.1 将参考图像简化为模板图像 15 2.1.2 感兴趣区域的影响 16 2.1.2.1参照点 16 2.1.3 合成模型作为模板图像的替代品 18 2.2 模板再使用 23 2.3加快搜索速度 24 2.3.1限制搜索空间 24 2.3.2关于次抽样 25 2.4 使用匹配结果 28 2.4.1 单个匹配方法的结果 28 2.4.2 关于转换 30 2.4.3 使用估计的维位置和方向 33 2.4.4使用估计的维尺度 43 2.4.5使用估计的维单应矩阵 45 2.4.6使用估计的三维姿态 47 2.4.7关于分数 49 第三章 单个方法 50 3.1 基于灰度的匹配 50 3.2 基于相关性的匹配 51 3.2.1 一个例程 51 3.2.2选择模型ROI 53 3.2.3建立合适的NCC模型 53 3.2.4优化搜索过程 55 3.3 基于形状的匹配 56 3.3.1 一个例子 57 3.3.2选择模型ROI 60 3.3.3创建合适的形状模型 62 3.3.4优化搜索过程 69 3.3.5使用基于形状匹配的具体结果 80 3.3.6适应相机方向的改变 82 3.4基于组件匹配 83 3.4.1一个例子 84 3.4.2提取初始组件 87 3.4.3创建合适的组件模型 88 3.4.4模型实例的搜索 95 3.4.5使用基于组件匹配的具体结果 98 3.5局部形变匹配 100 3.5.1一个例子 100 3.5.2选择模型ROI 104 3.5.3建立合适的局部变形模型 104 3.5.4优化搜索过程 107 3.5.5使用局部形变匹配的具体结果 109 3.6透视变形匹配 111 3.6.1一个例子 112 3.6.2选择模型ROI 114 3.6.3创建合适的透视图变形模型 114 3.6.4优化搜索过程 118 3.6.5使用透视图变形匹配的具体结果 120 3.7 基于描述符的匹配 122 3.7.1一个例子 122 3.7.2选择模型ROI 125 3.7.3创建合适的描述符模型 125 3.7.4优化搜索过程 128 3.7.5使用基于描述符匹配的具体结果 130
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值