union_straight_contours_xld

原型

union_straight_contours_xld(Contours : UnionContours : MaxDist, MaxDiff, Percent, Mode, Iterations : )

功能

合并方向近似且相邻的直线轮廓。

参数列表

Contours (input_object) :输入轮廓
UnionContours (output_object) :合并后输出轮廓
MaxDist (input_control) :最大距离上限
MaxDiff (input_control) :两个参考轮廓的拟合直线间的最大角度上限。
Percent (input_control) :MaxDist 、MaxDiff 两个标准的所占权重因子(百分比)
Mode (input_control) :是否应考虑平行轮廓?(‘every’, ‘noparallel’, ‘paralleltoo’)
Iterations (input_control) :迭代次数(可选数值或者 ‘maximum’)

详解

如果满足某些条件,则算子将会合并相邻的XLD轮廓。每次迭代时,最多合并两个满足给定条件的轮廓,参数Iteration控制整个步骤执行的频率。
如果两个端点(我对end Points的理解:每个端点指轮廓上的点在其拟合直线上的投影)的最小距离小于MaxDist参数设置的值,那么合并这两个轮廓。并且两个轮廓拟合的直线夹角小于MaxDiff ,那么直接合并这两个轮廓。

但如果只有一个条件满足,那么参数Percent 将会最终决定是否合并这两个轮廓。也就是说如果MaxDist 、MaxDiff 两个条件只满足其中一个,那么如果满足接下来的条件,合并轮廓。

举个例子来理解公式的含义:假如两个轮廓的间隙在参考轮廓上的投影长度值shortest distance= 5.0,它们的拟合直线夹角为direction difference = 0.5,限制参数MaxDist = 4.0,MaxDiff = 0.625.由于5.0不小于MaxDist = 4.0,所以,两个轮廓不能直接合并,需要参数Percent 进一步决定是否合并。
可以计算出两个值与对应的限制值相差25%。如果选择Percent = 60%,shortest distance所占权重大于direction difference,5 / 4 * 0.6+0.5 / 0.625 * (1-60%)=1.07 不小于1,所以不能合并。反之,如果Percent = 40%计算结果为0.98 <= 1,所以能合并。
当Percent = 100%时,只有shortest distance起作用,同理当Percent =0%,只有direction difference起作用,当Percent =50%,两者起到的作用均等。
总结下来就是当MaxDist 、MaxDiff 两个条件只满足其中一个时候,通过设置Percent参数来均衡MaxDist 、MaxDiff所占权重。
如果不想使平行的轮廓合并,将Mode设置为’noparallel’ ,反之设置为 ‘paralleltoo’ ,设置’every’对所有轮廓无条件合并。
如果Iterations 设置的是数值,将会达到迭代次数之后结束,如果设置的是’maximum’,一直迭代直到没有轮廓再合并为止。
在用get_regression_params_xld返回轮廓参数之前,必须通过调用regress_contours_xld计算到轮廓的回归线参数。

举例

1、当两个轮廓的属性都满足MaxDist 、MaxDiff 条件时,看Percent 是否起作用。

2、当Percent权重偏向一个参数时,看MaxDist、MaxDiff参数的变换如何影响轮廓合并。
(1)MaxDist参数

(2)MaxDiff参数

代码

gen_contour_polygon_xld (FirstContour, [500,1000], [1,1])
gen_contour_polygon_xld (SecondContour, [1001,1500], [2,501])
concat_obj (FirstContour, SecondContour, ConcatContour)
regress_contours_xld (ConcatContour, RegressContours, ‘drop’, 1)
union_straight_contours_xld (RegressContours, UnionContours, sqrt(2), rad(44.99999), 0, ‘noparallel’, ‘maximum’)

Halcon union_straight_contours_xld详解相关推荐

  1. Halcon例程详解(植物测量) —— measure_plant.hdev

    文章目录 前言 一.过程 1.1 筛选ROI区域 1.2 分割 1.3 三维建模与仿射变换 1.4 确定叶子的角度分布和高度 1.5 确定叶子的面积和树干的直径 1.6 对叶子的角度进行分析 二.例程 ...

  2. Halcon例程详解(基于卡尺工具的匹配测量方法) —— measure_stamping_part.hdev

    前言 1卡尺工具介绍 Halcon中的Metrology方法即为卡尺工具,可用来拟合线,圆,这种方法对于目标比背景很明显的图像尺寸测量是很方便的,不需要用blob进行边缘提取等,但缺点也很明显,需要目 ...

  3. Halcon union_collinear_contours_xld详解

    union_collinear_contours_xld 原型 union_collinear_contours_xld(Contours : UnionContours : MaxDistAbs, ...

  4. Halcon例程详解(激光三角系统标定)—— calibrate_sheet_of_light_calplate.hdev

    前言 1 激光三角测距 激光三角测距法原理很简单,是通过一束激光以一定的入射角度照射被测目标,激光在目标表面会产生漫反射,在另一角度利用透镜对反射激光汇聚成像,光斑成像在CCD(Charge-coup ...

  5. Halcon例程详解 (深度图转换为3D图像)—— xyz_attrib_to_object_model_3d

    一.前言 深度图向点云图进行转换是进行3D检测项目时会遇到的问题,halcon里也有针对此问题的相关例程,下面对此例程进行分析.通过学习此例程,我们可以掌握如何将一张深度图像和一张正常二维图像转换为3 ...

  6. 激光三角测量(sheet of light)halcon示例详解 Reconstruct_Connection_Rod_Calib.hdev 模型三维重建...

    原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/11555100.html 前言:最近公司项目用到halcon的3d模板匹配,三维重建,相机标定, ...

  7. labview调用halcon匹配详解

    halcon的匹配比labview自带的匹配快了十倍不止,labview需要调用halcon则需要调用自带的.net构造库,下面先讲解步骤再贴源码,本文使用的halcon是2019 32位,labvi ...

  8. halcon例程讲解_跟我学机器视觉-HALCON学习例程中文详解-开关引脚测量

    跟我学机器视觉-HALCON学习例程中文详解-开关引脚测量 This example program demonstrates the basic usage of a measure object. ...

  9. Halcon —— 边缘检测算子详解

    一.算子介绍 1.1 种类 halcon内常用的边缘检测算子包括如下几种: 1.edges_image: 提取2D 图像边缘 2.edges_sub_pix:提取2D图像亚像素边缘 3.edges_o ...

  10. Halcon例程(基于3D形状匹配识别方法)详解 —— create_shape_model_3d_lowest_model_level.hdev

    一.例程简介 最近在研究3D识别方面的东西,查了不少资料,发现halcon里有不少关于三维物体识别的例程,这里对其中一个做出详解.该例程是基于三维匹配方法的,因为有三维模型SM3,所以不需要自己创建: ...

最新文章

  1. Windows Server 2008 R2模板机制作(VMware Workstation)
  2. Boost::context模块callcc的无限循环测试程序
  3. 阿里云CDN产品经理陈章炜:边缘创新技术和落地实践
  4. 判断指定目录下的所有[图片]的扩展名, 并打印出文件名.
  5. 如何使用Play框架为https配置SSL证书
  6. 把文化全交给HR,是管理者最大的过失
  7. ArcGIS Server Manager打不开(运行时错误)
  8. jdk 动态代理基本例子
  9. QT实现简单的浏览器
  10. Jaas demo 登陆验证
  11. Ds918 ds3615 ds3617区别_苹果678有什么区别
  12. vue组件库开发(npm包发布)
  13. JESD 样本量 选择 可靠性 45 77样本量
  14. 深大与南科大计算机,深圳大学和南方科技大学你选哪所?哪所实力更强?
  15. 我热爱生命本来的样子
  16. wps将word转换成html,wps如何转换成word(word转换成wps的方法)
  17. 同位语从句 vs 定语从句 区别
  18. java生日显示生肖星座_根据生日或者日期 获取 生肖和星座的 Java代码
  19. 【每日蓝桥】8、一三年省赛Java组真题“打印十字图”
  20. 【2021】01 最大流

热门文章

  1. adb shell dumpsys activity activities调用信息简析
  2. ubuntu snap 安装的nextcloud 忘记管理员密码,重新设置密码。
  3. python为什么叫胶水语言 举例_python为什么叫胶水语言 python为什么是系统脚本
  4. Module containing this breakpoint has not yet loaded or the breakpoint address not be obtained
  5. 学习问题--js图片路径加载问题
  6. 线性方程组求解——基于MTALAB/Octave,Numpy,Sympy和Maxima
  7. 国内外大数据创业面面观
  8. 微信撤回消息在服务器可以看到吗,微信撤回消息可以查看了,对方撤回了什么一目了然...
  9. spring boot学习2,日志框架
  10. 论文阅读报告:Taxonomy-aware feature engineering for microbiome classification,Mai Oudah and Andreas Hen