1.产生测量句柄,准备提取与矩形(圆弧)主轴垂直的值边缘。

gen_measure_rectangle2或gen_measure_arc

2.测量边缘对   ,测量的直线与矩形或者圆弧垂直

measure_pairs (Image, MeasureHandle, 1.5, 30, 'negative', 'all', RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, PinWidth, PinDistance)

measure_pairs适用于有许多组边缘的图像,如果是一组边缘,也可以用measure_pos,下面的第一个例子就可以。使用他们时边缘要是一条直线,结果中包含了许多信息,每一个边缘RowEdge表示的是边缘的行坐标,ColumnEdge表示的是列坐标,Amplitude表示的是根据Transition边缘的梯度,IntraDistance表示的是一个边缘组之间的距离,InterDistance表示的是边缘组之间的距离,这两个距离可以计算物体的高度和计算物体的个数

Transition = ‘negative’时表示由像素值高转到低像素值的边缘放在RowEdgeFirst中,这里有一个参考方向,就是Rectangle旋转角度为0时,从左到右的方向

Sigma表示高斯滤波的参数,高斯滤波的是对Profile形成的曲线,Threshold是对他的一阶导数设置的阈值(下图粗线是Profile line经过的像素,细线是他的一阶导数,可以看出它大概有三组边缘)

如果要可视化边缘,需要利用RowEdge,Column,Phi自己确定边缘的开始点与结束点

注意,由于没有对摄像机进行标定,1D测量只能获得物体的像素的个数

3.测量边缘与测量句柄矩形的交点  

measure_pos (Image, MeasureHandle, 1.5, 30, 'all', 'all', RowEdge, ColumnEdge, Amplitude, Distance)

4.直线拟合

fit_line_contour_xld( Contours : : Algorithm, MaxNumPoints, ClippingEndPoints, Iterations, ClippingFactor : RowBegin, ColBegin, RowEnd, ColEnd, Nr, Nc, Dist )

5.计算直线的交点

intersection_lines( : : Line1Row1, Line1Column1, Line1Row2, Line1Column2, Line2Row1, Line2Column1, Line2Row2, Line2Column2 : Row, Column, IsOverlapping)

6.计算两点的距离

distance_pp( : : Row1, Column1, Row2, Column2 : Distance)

7.计算线的方向(角度)

line_orientation( : : RowBegin, ColBegin, RowEnd, ColEnd : Phi)

8.计算线与水平轴间的夹角

angle_lx( : : Row1, Column1, Row2, Column2 : Angle)

函数作用:

逆时针旋转向量到水平轴的角度即为结果值,该结果取决于两个点的顺序,用弧度表示,范围为[-pi, pi]

参数列表:

Row1(in):线起始点的行坐标

Column1(in):线起始点的列坐标

Row2(in):线终止点的行坐标

Column2(in):线终止点的列坐标

Angle(out):线与水平轴的夹角

可能替代项:

angle_ll

Halcon 1D测量的更多相关文章

  1. Halcon一维测量1D Measuring解析

    一维测量(也叫一维计量或卡尺)的概念非常直观.沿着一个预定的区域(主要是垂直于RIO感兴趣区域的方向) 边缘的位置.这里的边缘为从暗到亮或从亮到暗的过渡. 基于提取的边缘,可以测量零件的尺寸.例如,可 ...

  2. Halcon一维测量官方案例解析

    下面的例子简要介绍了如何使用HALCON的一维测量工具.最长的部分是预处理和后处理:测量本身只包括两个操作符调用. 测量保险丝-fuse 预处理主要是测量线的生成.在示例程序中,这个步骤是通过将测量对 ...

  3. halcon 特征测量

    Features 1. line_orientation   功能:计算线的方位. 2. line_position   功能:计算一条线的重心.长度和方位. 3. partition_lines   ...

  4. Halcon 2D测量

    * This program shows how to detect the edges of a diamond * with subpixel accuracy and calculate the ...

  5. halcon——缺陷检测常用方法总结(测量拟合)

    引言 机器视觉中缺陷检测分为一下几种: blob分析+特征 模板匹配(定位)+差分:halcon--缺陷检测常用方法总结(模板匹配(定位)+差分) - 唯有自己强大 - 博客园 (cnblogs.co ...

  6. 1D mesauring

              The Basics of Measure Objects   2.1 the process of 1D Edge extraction       Then, the mean ...

  7. 分析一则halcon抓边拟合直线的小案例

    例图: 完整算法: read_image (Image, 'C:/Users/Administrator/Desktop/1.png') threshold (Image, Regions, , ) ...

  8. 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数009,Measure,测量函数

    <zw版·Halcon-delphi系列原创教程> Halcon分类函数009,Measure,测量函数 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替 ...

  9. 跟我学机器视觉-HALCON学习例程中文详解-FUZZY检测用于开关引脚测量

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

随机推荐

  1. 利用SQL为Code128码添加起始符和休止符

    在利用code128码字体打印条码是,打印出来的条形码,扫描枪会出现认不出的情况,这种情况是由于直接将文本设置为code128字体而没有给他们指定起始符和休止符引起的. 经过查资料获发现好多人遇到这样 ...

  2. iOS webview加载时序和缓存问题总结

    iOS webView的加载时序 UIWebView加载顺序: - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSU ...

  3. 5210: 最大连通子块和 动态DP 树链剖分

    国际惯例的题面:这题......最大连通子块和显然可以DP,加上修改显然就是动态DP了......考虑正常情况下怎么DP:我们令a[i]表示选择i及i的子树中的一些点,最大连通子块和;b[i]表示在i ...

  4. Java并发程序设计(九)设计模式与并发之不变模式

    设计模式与并发之不变模式 使用不变模式的目的:除去多线程中的同步操作,提高并行程序的性能. 一个类在的内部状态创建后,在整个生命周期内都不会发生改变,该类就是不变类. /** * @author: T ...

  5. mongodb数组操作

    1.查询课程中包含math,chinese的课程 db.getCollection('student').find( { course:{$all:['math','chinese']} } ).pr ...

  6. 本地搭建Wordpress博客网站(Windows)

    最近在写一些web功能测试的一个主题分享,里边有一个分类是数据库测试,那么数据库测试有几个点的方法,其中有一个是学会看数据库的日志.由于公司内部的数据库日志我们测试人员暂时不开放查看,所以打算自己在本 ...

  7. ParallaxNode视差节点实现远景近景的不同层次移动

    Cocos2d-x有ParallaxNode视差节点,视察顾名思义,就是造成不同的移动速率的效果. 我想大家都玩过刀塔传奇,他的背景有远景和近景之分,而且你滑动屏幕的时候远景和近景是按照不同的速率移动 ...

  8. centos7 重置root 密码

    重置Centos 7 Root密码的方式和Centos 6完全不同.让我来展示一下到底如何操作. 1 - 在启动grub菜单,选择编辑选项启动 2 - 按键盘e键,来进入编辑界面 3 - 找到Linu ...

  9. 网络编程(2)—UDP

    1.UDP协议: 将数据.源.目的封装成数据包,不需要建立连接 每个数据包大小在64K一下 因无需建立连接,所以是不可靠的 发送完毕,无需释放资源,速度快 2.UDP编程步骤: 发送端: 1.创建发送 ...

  10. 探讨后端选型中不同语言及对应的Web框架

    在进行后端选型的时候,实际上我们要选择的是一个框架.后端领域所使用的技术和框架已经趋于稳定,我们只需要按我们的需要选择所需要的框架.当存在多个框架适合时,我们再选择适合的语言.不得不指出的是,当我们喜 ...