halcon学习之形状匹配

算子

create_shape_model()

创建一个用于匹配的形状模型

create_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, Contrast, MinContrast : ModelID)

参数

Template:

NumLevels:金字塔越高层,识别对象使用的点的数量越少,识别速度越快,但前提是要能把目标正确识别出来。

AngleStart:匹配开始时,模板先以AngleStart的角度在图片上寻找目标对象,完成以后,模板旋转AngleStep角度,继续匹配,以此类推,一直旋转到AngleStart+AngleExtent角度为止。

AngleExtent:参考AngleStart。

AngleStep:参考AngleStart。

Optimization:如果设为none,那么将存储模型所有的点,这么一来,会影响速度,而如果设为其他选项,则会相应减少存储的点,加快匹配运算速度。只是可能需要在后续的find_shape_model()算子中把greedy设为较小的值。

Metric:根据对比度选择匹配对象,例如,白底黑对象,是否只匹配白底黑对象,还是说只要形状一致,黑底白对象也会被选择。

Contrast:对象与背景的灰度值之差要大于此值。

MinContrast:该参数将模型与图像中的噪声分离开来。因此,一个很好的选择是图像中噪声引起的灰度值变化范围。例如,如果灰度值在10个灰度级范围内波动,则MinContrast应设置为10。

ModelID:生成的句柄


determine_shape_model_params()

确定形状模型的具体参数。

由于使用create_shape_model()创造形状模型时,很多参数都是使用auto值,而如果想确定这个auto具体是等于多少,可以使用该指令。


find_shape_model()

在图像中找到形状模型的最佳匹配

find_shape_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels, Greediness : Row, Column, Angle, Score)

参数

Image:匹配目标的图像。

ModelID:匹配句柄。

AngleStart:参考create_shape_model()。

AngleExtent:参考create_shape_model()。

MinScore:目标匹配分数必须大于此值才能被认为是目标对象。

NumberMatches:当设为0,表示要搜索图像上所有分数大于MinScore的对象,否则,按照设定值去搜索目标对象。

MaxOverlap:如果两个目标对象发生层叠,那么按照0-1的分数评判二者层叠的程度,如果层叠程度小于此值,那么返回两个对象,如果大于此值,则返回最佳实例。如想返回所有实例,可以设为1.

SubPixel:决定是否应该以亚像素精度提取实例。

NumLevels:匹配中使用的金字塔层数,如果设为0,则使用create_shape_model()时的金字塔层数。

Greediness:当值为0时,速度慢,但该捡出来的对象都会检出。当值为1,检索速度最快,但可能漏检对象。

Row, Column, Angle, Score:目标对象的横列坐标,角度和分数。


  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值