Halcon一维测量中边缘提取相关算子(Measure_pos和Measure_pairs)

一维测量通常分两个步骤:
1、设置测量区域
一般通过gen_measure_rectangle2 算子来查找平面区域的边缘距离;通过gen_measure_arc来设定圆弧区域的边缘距离。
以矩形为例:创建查找边缘的操作句柄
gen_measure_rectangle2( : : Row, Column, Phi, Length1, Length2, Width, Height, Interpolation : MeasureHandle)在这里插入图片描述
Row, Column:矩形的中心
Phi,:旋转角度,顺时针时为负值,逆时针时为正值
Length1, Length2:矩形区域长和宽的一半,其中宽度,尽量在包住边缘的同事设置的越大越好,设置太小噪声太大
Interpolation表示插值的方法,因为当ROI不是垂直或者水平的话,那么他的Projection(下图中短的等距线)经过的就不是一个完整的像素,因为要计算它的平均值给Profile。它的值就需要插值。

2、执行测量任务
一维测量中有两个算子:Measure_pos和Measure_pairs
1)measure_pos(Image : : MeasureHandle, Sigma, Threshold, Transition, Select : RowEdge, ColumnEdge, Amplitude, Distance)
通过计算垂直于矩形或者环形弧长轴(轮廓线)的每个切片上的平均灰度值,这些平均灰度值称为一维边界轮廓。
在这里插入图片描述

Image (input_object) :输入图像
MeasureHandle (input_control) :测量对象句柄
Sigma (input_control) :高斯滤波参数,高斯滤波的是对Profile形成的曲线
Threshold (input_control) :对边缘的一阶导数设置的阈值,可理解为选取幅度阈值的下限,即提取边缘轮廓的最小梯度幅度
Transition (input_control) :Transition = ‘negative’时表示由像素值高转到低像素值的边缘放在RowEdgeFirst中,这里有一个参考方向,就是Rectangle旋转角度为0时,从左到右的方向。
另一解释:沿主轴方向dark-to-light定义为第一类边缘,反之为第二类边缘。
具体说明:
Transition=‘positive’ 代表找寻所有正边缘 :所谓正边缘即为在查找方向上从黑到白过渡变化的边缘;
Transition=‘negative’ 代表找寻所有负边缘 :所谓负边缘即为在查找方向上从白到黑过渡变化的边缘;
Transition=‘all’ 代表找寻所有边缘 ;
Select (input_control) :选择寻点的模式( 'all’输出所有点, 'first’输出第一个点, 'last’输出最后一个点)
RowEdge (output_control) :寻到直边的中心点行坐标
ColumnEdge (output_control) :寻到直边的中心点列坐标
Amplitude (output_control) :寻到直边的边缘强度值
Distance (output_control) :连续边之间的距离,即Distance[i]对应的是Edge[i]和Edge[i+1]之间的距离,即最终Distance 的数组长度比RowEdge以及ColumnEdge少1。

2)measure_pairs(Image : : MeasureHandle, Sigma, Threshold, Transition, Select : RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, IntraDistance, InterDistance)

measure_pairs属于加强版的measure_pos
注意:
1°这个算子找出的都是边缘对(两遍形成一对边缘),边缘给出的是边缘对之间的距离
2°边缘查找的方向性:边缘查找的方向影响边缘查找的效果,从一个方向看是从白到黑,从反方向看就是从黑到白;正确的查询方向为MeasureHandle矩形的绘制角度方向是正方向还是反方向;
在halcon自带例子 测量灯丝的宽度的例子fuse.hdev中
当测量矩形的以rad(90)角度生成时,RowEdgeFirst 坐标为两条钨丝的下边缘坐标,说明查找方式是从矩形下边缘到上边缘;
在这里插入图片描述
当测量矩形的以rad(-90)角度生成时,RowEdgeFirst 坐标为两条钨丝的上边缘坐标,说明查找方式是从矩形下边缘到上边缘;
在这里插入图片描述
3°算子参数Transition 控制着哪种类型的边缘来组成边缘对
Transition=‘positive’ 沿测量矩形中轴线方向(查询方向为MeasureHandle矩形的绘制角度方向),第一个边缘点是 黑-白的点,第二个点是白-黑的点 具有这样特征的边缘将会组成边缘对;
Transition=‘negitive’ 沿测量矩形中轴线方向,第一个边缘点是 白-黑的点,第二个点是黑-白的点 具有这样特征的边缘将会组成边缘对;
Transition=‘all’ 沿测量矩形中轴线方向,所有具有白黑白 ,或者黑白黑过渡特征的边缘对都会被找出;
4°算子参数 IntraDistance ;
边缘对内边缘之间的距离。
5°算子参数 InterDistance ;
连续边缘对之间的距离。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值