对图中尺寸进行测量。
测量效果如图示
halcon自带测量助手,测量助手是halcon一维测量的前端,使用测量助手可以:
- 可视化的设置测量参数
- 更快捷的测量边界尺寸
该篇教程对测量助手的使用步骤作了详细描述,本文不再赘述。
如果对halcon算子熟悉,当然可以手动编辑输入代码,而1D测量主要分3个步骤,
1。生成测量矩形或环形弧,为测量作准备。
gen_measure_rectangle2 和 gen_measure_arc 就是生成量矩形和环形弧对象的算子,
先解释下gen_measure_rectangle2,它有8个输入参数和一个输出参数,分别为
参数列表
Row (input_control):矩形中心点的行坐标
Column (input_control):矩形中心点的列坐标
Phi (input_control):轮廓线与水平方向的夹角(弧度制)
Length1 (input_control):矩形长轴的一半
Length2 (input_control):矩形短轴的一半
Width (input_control) :待处理图像的宽度
Height (input_control) :待处理图像的高度
Interpolation (input_control) :插值方式(‘bicubic’, ‘bilinear’, ‘nearest_neighbor’)
MeasureHandle (output_control) :测量对象句柄
可以参考图示理解前5个参数:
其中,可以Phi:=Rad(Degree)用角度Degree转化为弧度。
length1,length2为矩形的一半长宽,
Interpolation,所谓的插值方式,有三个值可以选择,
‘nearest_neighbor’ ,最邻近插值,速度快,精度低
‘bilinear’ 双线性插值
‘bicubic’ 双三次插值
这三个选项会有什么不同,该如何选取?其中涉及到差值,以及亚像素的概念,
对于插值的理解,可以参考插值_怎么会有不写代码的小朋友呢的博客-CSDN博客
需要注意的是:
仅当测量矩形或环形弧的轮廓线不垂直边界直线时,插值方式才起作用。
MeasureHandle 返回测量对象句柄,
算子write_measure( : : MeasureHandle, FileName : )可以对measureHandle写到后缀为.msr文件。
2.执行测量
通常会用如下算子
measure_pos
measure_pairs
measure_thresh
measure_pos(Image : : MeasureHandle, Sigma, Threshold, Transition, Select : RowEdge, ColumnEdge, Amplitude, Distance)
参数列表:
Image (input_object) 图像对象,单通道图像
MeasureHandle (input_control) 测量对象句柄
Sigma (input_control) 高斯平滑公式中系数σ 推荐值:0.4, 0.6, 0.8, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0, 7.0, 10.0 限制:Sigma >= 0.4
Gaussian Smoothing(高斯平滑)_不知哪来的烦恼的博客-CSDN博客_高斯平滑
Threshold (input_control) 阈值,用于选择明显的边界
Transition(input_control) :’positive'(dark-to-light transition),’negative'(light-to-dark transitions) ,’all’ (both)
Select (input_control):
3.销毁测量对象
【机器视觉】机器视觉博客汇总_沧海一笑-dj的博客-CSDN博客
RANSAC algorithm
ransac算法_RANSAC算法简介_weixin_39929465的博客-CSDN博客
文章出处登录后可见!