halcon测量

一、一维测量       

定义:  一个方向的度量
测量区:测量矩形  测量弧形
原理:灰度投影+求导数

正负:沿着剖面线的方向由暗到亮为正  由亮到暗为负
实现流程:采集图像=》生成矩形测量区域(弧形)=》边缘测量(边缘对测量)=》可视化显示=》关闭测量

   

生成测量矩形: gen_measure_rectangle2

边缘测量: measure_pos

边缘对测量: measure_pairs

关闭测量: close_measure

可视化显示:   

 生成多边形xld轮廓 gen_contour_polygon_xld
 显示带方向的矩形 disp_rectangle2
 显示箭头  disp_arrow

转到世界坐标系,计算实际尺寸

 像素转到世界坐标系 image_points_to_world_plane 

 移动坐标系  set_origin_pose

矩形测量可视化显示原理:

测量定位跟随:

点的仿射变换   affine_trans_point_2d
像素点的仿射变换  affine_trans_pixel 
求直线与水平轴角度  line_orientation 

求两个点距离   distance_pp
求直线与水平轴角度   angle_lx

圆弧测量(测量弧形):

 生成测量弧形: gen_measure_arc

 生成圆弧xld轮廓   gen_circle_contour_xld
 求两个点距离   distance_pp
 求直线与水平轴角度  angle_lx
 获得椭圆点  get_points_ellipse
 显示圆弧   disp_arc

圆弧可视化显示原理:

二维测量

定义:图像俩个方向的度量

本质:求导数---卷及运算(高通滤波-锐化)

xld:可扩展的线性描述

流程:

1.标定求内外参

2.采集图像

3.定位跟随

4.二维测量

求区域边界 输入区域  输出区域 边界内外选择
boundary (RegionAffineTrans, RegionBorder, 'inner')    

提取边缘亚像素 输入图像 输出轮廓 算法 平滑系数 最小阈值
edges_sub_pix (ImageReduced, Edges, 'canny', 1, 20, 40)

拟合成矩形 输入轮廓 最小二乘法 拟合点的最大数量 闭合距离阈值 忽略的最大点数 迭代次数 剪切因子(越小,去掉离群值远的点越多)
fit_rectangle2_contour_xld (SelectedXLD, 'tukey', -1, 0, 0, 3, 2, Row, Column, Phi, Length1, Length2, PointOrder)

5.转世界坐标,计算显示
image_points_to_world_plane

canny算法原理:

1.高斯平滑

2.sobel求一阶导数

3.非极大值抑制

4.高低阈值控制

区域联合方式
 1.近邻联合 union_adjacent_contours_xld
 2.共圆联合 union_cocircular_contours_xld
 3.共线联合 union_collinear_contours_xld
 4.闭合联合 union2_closed_contours_xld

拟合方式
 1.直线拟合 fit_line_contour_xld
 2.圆拟合   fit_circle_contour_xld
 3.椭圆拟合 fit_ellipse_contour_xld
 4.矩形拟合 fit_rectangle2_contour_xld

轮廓分割

*轮廓分割 输入轮廓  输出分割后的轮廓 线圆选择 平滑 阈值(值越大分割后的轮廓越少)
segment_contours_xld (SelectedContours, ContoursSplit, 'lines_circles', 5, 10, 8)

获得轮廓的属性
   获得轮廓全局属性              get_contour_global_attrib_xld
   求具有回归属性的轮廓       regress_contours_xld  
   求回归属性轮廓的属性值   get_regress_params_xld  
   轮廓特征筛选                     select_contours_xld

卡尺测量

 一维测量+二维测量+定位+跟随+标定综合

标定--》采集-》定位--》创建卡尺模型添加卡尺设置参数(参考位置)-》跟随--》测量--》获得结果-》清除

创建卡尺模型  create_metrology_model
设置宽高         set_metrology_model_image_size
添加直线卡尺  add_metrology_object_line_measure
设置模型参数  set_metrology_model_param
定位跟随         align_metrology_model
卡尺测量         apply_metrology_model
获得拟合后轮廓    get_metrology_object_result_contour
获得拟合后参数结果  get_metrology_object_result
获得测量矩形    get_metrology_object_measures
求两条线角度    angle_ll
求直线交点  intersection_lines
求直线角度  line_orientation
清除卡尺     clear_metrology_object
清除卡尺模型  clear_metrology_model

设置卡尺参数注意:

设置卡尺参数拟合实例  set_metrology_object_param     

'num_instances' :最大实例个数

'measure_transition'  亮暗选择,直选所有正边,负边(uniform)

'num_measures'   矩形个数

'measure_distance'  测量区域间的距离

方向问题:对于圆,矩形等封闭的是由内到外

对于直线:面向直线,起点指向终点,从左往右

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值