测试图:

测试代码:

read_image (Image, 'C:/Users/斌/Desktop/test.png')
binary_threshold (Image, Region, 'max_separability', 'dark', UsedThreshold)
*转骨架
skeleton (Region, Skeleton)
*骨架转xld
gen_contours_skeleton_xld (Skeleton, Contours, 1, 'filter')
*拟合近似轮廓线线段
fit_line_contour_xld (Contours, 'regression', -1, 0, 5, 2, RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist)
*生成这条回归线
gen_contour_polygon_xld (Contour, [RowBegin,RowEnd], [ColBegin,ColEnd])
dev_clear_window ()
dev_set_line_width (3)
dev_display (Image)
dev_display (Contour)

效果:

关于fit_line_contour_xld 算子描述

fit_line_contour_xld通过线段来逼近XLD轮廓。它不执行输入轮廓的分割。因此,必须确保每个轮廓都对应且仅对应一个线段。该操作符返回每个轮廓的起点(RowBegin, ColBegin)、终点(RowEnd, ColEnd),以及由直线的法向量(Nr, Nc)及其到原点的距离(即距离)给出的轮廓的回归线。,直线方程由。

拟合直线的算法可以通过以下算法进行选择:

“回归”:

标准最小二乘拟合。

“休伯”:

加权‘最小二乘’直线拟合,其中根据Huber的方法减少了异常值的影响(见下文)。

“图基”:

加权'最小二乘'线拟合,其中的异常值被忽略的方法Tukey(见下文)。

“下降”:

“最小二乘”拟合,其中的异常值被忽略。特别是,所有距轮廓线较远的等高线点,其距与削波因子相乘的回归线的平均距离(见下)均被忽略,以计算无失真的回归线。

“高斯”:

加权“最小二乘”直线拟合,根据所有等高线点到近似线距离的平均值和标准差,减少离群点的影响。

对于“huber”、“tukey”和“drop”,使用稳健的误差统计来估计与等高线点之间的距离的标准偏差,而不需要离群值。参数ClippingFactor(标准偏差的比例因子)控制异常值的数量:为ClippingFactor选择的值越小,检测到的异常值就越多。重复检测离群值。参数迭代指定迭代的数量。在“回归”模式中,这个值被忽略。值得注意的是,在Tukey(‘Tukey’)的方法中,在进行近似之前将离群点去除,并对所有其他点进行加权,而在Huber(‘Huber’)的方法中,离群点的影响仍然很小。特别地,对于离群点,优化过程受到线性影响,对于距离较小的点,优化过程受到二次影响。在实践中,推荐了杜克的方法。

为了减少计算量,可以将线的拟合限制在轮廓点的一个子集内:如果将-1以外的值赋给MaxNumPoints,则只使用MaxNumPoints点(均匀分布在轮廓上)。

线段的起点和终点是通过将相应轮廓的第一点和最后一点投影到近似线来确定的。由于在预处理的人工制品,轮廓的起点和终点可能是错误的。因此,可以从线拟合中排除轮廓的起始点和结束点。然而,它们仍然被用来确定线段的起点和终点。

halcon计算一条弯曲线的回归直线相关推荐

  1. 2019-6-27-WPF-如何给定两个点画出一条波浪线

    title author date CreateTime categories WPF 如何给定两个点画出一条波浪线 lindexi 2019-6-27 10:17:6 +0800 2019-6-26 ...

  2. 布林线均值回归(股票)——Python量化

    布林线均值回归策略 目录 布林线均值回归策略 1. 原理 2. 策略思路 3. 策略代码 4. 回测结果与稳健性分析 1. 原理 提起布林线均值回归策略,就不得不提布林带这个概念.布林带是利用统计学中 ...

  3. 布林线均值回归策略(股票)

    1. 原理 提起布林线均值回归策略,就不得不提布林带这个概念.布林带是利用统计学中的均值和标准差联合计算得出的,分为均线,上轨线和下轨线.布林线均值回归策略认为,标的价格在上轨线和下轨线围成的范围内浮 ...

  4. 两条波浪线符号_四年级数学上册第二单元“线的认识”作业单(附带答案)

    "线的认识"作业单 一.线段.射线和直线. 1."线段.射线和直线"之间的联系与区别. 名称 形状 长度 端点 关系 2.表示方法:分别画出一条线段.射线和直线 ...

  5. R语言ggplot2可视化交互作用图(Interaction Plot):可视化不同分组(分类变量1)在不同剂量下(分类变量2)的箱图(box plot)、均值计算并连接成线图(line plot)

    R语言ggplot2可视化交互作用图(Interaction Plot):可视化不同分组(分类变量1)在不同剂量下(分类变量2)的箱图(box plot).均值计算并连接成线图(line plot) ...

  6. IOS之Label画一条删除线

    IOS之Label画一条删除线 例如上面的价格100 如何对100添加删除线. 我们需要自定义一个Label,继承于UILabel系统类.在xib上对控件添加自定义Label类.LJCenterLab ...

  7. 【云栖计算之旅】线下沙龙第2期精彩预告:Docker在云平台上的最佳实践

    Docker是一个开源的应用容器引擎,提供了一种在安全.可重复的环境中自动部署软件的方式,允许开发者将他们的应用和依赖包打包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化 ...

  8. Cover V2将启用两条产品线 本周开始进行V2 UI开发

    2月24日,DeFi保险协议Cover Protocol官方公布V2产品计划.根据该计划,Cover V2将启用两条产品线:1.点对点保险市场,与V1相同,任何人都可以成为做市商提供承保:2.保险货币 ...

  9. 给WPF文字加多条修饰线

    给WPF文字加多条修饰线 原文:给WPF文字加多条修饰线 这是上篇WPF中的文字修饰--上划线,中划线,基线与下划线 最后留给朋友思考的问题. 效果图: XAML代码:<Page xmlns=& ...

  10. JAVA计算两条直线的交点(判断两条线段相交)

    //计算两条直线的交点 //输入四个点,前两个点确定线段1,后两个点确定线段2 //输出交点坐标 public class Main{public static void main(String ar ...

最新文章

  1. Docker不香吗,为啥还要K8s?
  2. hash hashcode变化_hashmap重写key的hashcode问题
  3. Android Low Battery 低电量处理流程
  4. 1.10 throws和throw:声明和抛出异常
  5. c语言实现去除字符串首尾空格
  6. 逗牙搞笑网www.idouya.xin
  7. 信息学奥赛一本通(1054:三角形判断)
  8. (14)System Verilog范围随机函数
  9. 新一代“土豪专享”机来了!三星W2020通过WiFi联盟认证
  10. 所有的胜利,与征服自己的胜利比起来,都是微不足道。
  11. python用pyinstaller生成exe时报错 TypeError: an integer is required (got type bytes)
  12. mysql配置文件(完整版)
  13. TongWeb卡、TongWeb卡、TongWeb卡卡卡
  14. python bytes
  15. FOC控制中电流环带宽
  16. 四种存储结构及其特点
  17. Docker快速搭建EKL
  18. B站大佬用我的世界搞出卷积神经网络,LeCun转发!爆肝6个月,播放破百万
  19. 计算机毕设(附源码)JAVA-SSM基于Web美食网站设计
  20. 如何发布一款Android应用到安卓市场

热门文章

  1. 基于ENVI下的土地利用信息提取(三)
  2. html表单填写保存在哪里,网页表单保存在什么位置
  3. excel流程图折线箭头_如何绘制excel箭头图形
  4. eterm php,eterm配置出租 eterm3 eterm黑屏
  5. 相对路径和绝对路径及表示
  6. Unable to instantiate application 解决方法
  7. 计算关联系数matlab,matlab相关性系数【excel中的相关系数是如何计算出来的?】
  8. 相关系数excel_如何用Excel计算投资组合的有效前沿?
  9. 如何用文献管理软件Endnote X9插入参考文献
  10. 【小程序源码】超强大的头像制作神器微信小程序源码