Halcon学习笔记:1D Measuring一维测量_fuse.hdev灯丝测量示例

本文是关于Halcon一维测量的教程,重点讲解了如何使用fuse.hdev进行灯丝测量。介绍了基本概念,包括测量流程、相关算子,并通过示例详细解释了gen_measure_rectangle2、measure_pairs等关键算子的用法,展示了实际的测量步骤。
摘要由CSDN通过智能技术生成

Halcon学习笔记:1D Measuring一维测量_fuse.hdev灯丝测量示例

一.基本概念

在这里插入图片描述
基本流程为:

  • 获取图像
  • 对图像进行灰度值标定
    (针对相机获取的图像灰度和输入能量之间的非线性关系,获得相机对输入能量的线性函数)
  • 排列感兴趣区域或图像
  • 校正图像
  • 创建测量句柄
  • 进行测量
  • 将测量结果转换到世界坐标系
  • 结果可视化
  • 释放测量句柄。

二.典型相关算子:

  • 1.gen_rectangle2( : Rectangle : Row, Column, Phi, Length1, Length2 : )
    创建任意方向的一个矩形,控制输入分别为矩形中心的行列坐标,矩形纵向与水平方向的夹角,长和宽的一半。

  • 2.gen_measure_rectangle2( : : Row, Column, Phi, Length1, Length2, Width, Height, Interpolation : MeasureHandle)
    产生测量句柄,准备提取和矩形主轴垂直的直边缘。插值方法有:‘nearest_neighbor’, ‘bilinear’, 'bicubic’三种。

  • 3.measure_pairs(Image : : MeasureHandle, Sigma, Threshold, Transition, Select : RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, IntraDistance, InterDistance)
    抽取和矩形或者圆弧垂直的直线。
    MeasureHandle:测量句柄
    Sigma:进行高斯平滑的方差值。
    Threshold :边缘的最小幅值。
    Transition:沿主轴方向dark-to-light定义为第一类边缘,反之为第二类边缘。
    Select (input_control) string → (string)
    RowEdgeFirst ;ColumnEdgeFirst ;AmplitudeFirst
    第一类边缘点的行列坐标和幅度值。
    RowEdgeSecond ;ColumnEdgeSecond ;AmplitudeSecond
    第二类边缘点的行列坐标和幅度值。
    IntraDistance :每个边缘对之间的距离。
    InterDistance :连续边缘对之间的距离。

  • 4.get_points_ellipse( : : Angle, Row, Column, Phi, Radius1, Radius2 : RowPoint, ColPoint)
    返回椭圆上某一点,该点与椭圆中线连线和椭圆长轴正方向成角为参数Angle。
    Row, Column, Phi, Radius1, Radius2:为椭圆的参数
    RowPoint, ColPoint:返回点的行列坐标。

  • 5.disp_arc( : : WindowHandle, CenterRow, CenterCol, Angle, BeginRow, BeginCol : )
    在窗口中显示圆弧。从(BeginRow, BeginCol)点,顺时针显示,角度为Angle

  • 6.gen_measure_arc( : : CenterRow, CenterCol, Radius, AngleStart, AngleExtent, AnnulusRadius, Width, Height, Interpolation : MeasureHandle)
    产生圆弧测量句柄,提取和圆弧垂直的直线。
    AnnulusRadius:为沿着半径方向测量宽度的一半。

  • 7.count_seconds( : : : Seconds)
    程序执行时间测量算子。

	Eg. count_seconds(Start)
	* program segment to be measured
	count_seconds(End)
	Seconds := End - Start
  • 8.measure_pos(Image : : MeasureHandle, Sigma, Threshold, Transition, Select : RowEdge, ColumnEdge, Amplitude, Distance)
    提取和矩形或者弧垂直的边缘线。

RowEdge, ColumnEdge:提取的边缘线与测量弧线或测量矩形的交点坐标,为亚像素精度,改算子常和循环配合使用。
Distance:连续边缘线之间的距离。

  • 9.distance_pp( : : Row1, Column1, Row2, Column2 : Distance)
    计算两点之间的距离。

  • 10.create_funct_1d_pairs( : : XValues, YValues : Function)
    根据一系列的(x,y)坐标值创建一个函数。X坐标值会被升序排列。

  • 11.set_fuzzy_measure_norm_pair( : : MeasureHandle, PairSize, SetType, Function : )
    设置归一化的隶属度函数。
    PairSize:优先的边缘对宽度
    SetType:待选择的模糊集合
    Function :隶属度函数

  • 12.fuzzy_measure_pairs(Image : : MeasureHandle, Sigma, AmpThresh, FuzzyThresh, Transition : RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, RowEdgeCenter, ColumnEdgeCenter, FuzzyScore, IntraDistance, InterDistance)
    创建模糊测理论量句柄,提取和矩形或弧线垂直的直线。
    AmpThresh:最小的边缘梯度阈值;
    FuzzyThresh:最小的模糊阈值;
    FuzzyScore:对所提取边缘值的模糊评价;

  • 13.create_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, Contrast, MinContrast : ModelID)
    为匹配准备一个形状模型。模型产生于多个图像金字塔级数,并储存在内存中。每个级数再进行多次旋转。最高的金字塔级数最少需要四个特征点进行匹配。
    Template:定义域用来创建模板的输入图像
    NzmLevels: 金字塔的最大级别。
    AngleStart ;AngleExtent ;AngleStep :匹配旋转开始的角度和终止的角度范围,角度步长,单位弧度。
    Optimization:产生模板的优化种类和方法。
    Metric :模板被识别的条件。
    Contrast:模板图像物体和背景之间或物体各部分之间的灰度差异值。最小为2个元素的数组。
    MinContrast :最小灰度差异。
    ModelID : 模型句柄代码。

  • 14.get_shape_model_contours( : ModelContours : ModelID, Level : )
    返回一个形状模型的多边形轮廓表示。

  • 15.hom_mat2d_identity( : : : HomMat2DIdentity)
    创建一个2D转换的齐次变换矩阵—平移矩阵。
    在这里插入图片描述

  • 16.hom_mat2d_translate( : : HomMat2D, Tx, Ty : HomMat2DTranslate)
    增加一个平移量到其次变换矩阵HomMat2D中。
    在这里插入图片描述

  • 17.affine_trans_contour_xld(Contours : ContoursAffinTrans : HomMat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值