专栏首页机器视觉那些事儿【测量篇】(2)测量助手详解

【测量篇】(2)测量助手详解

书写是为了更好的思考

测量助手的熟练使用对于新项目的快速评估是很有必要的,通常实际测量项目中,客户QC质检部门,会进行GRR测试,验证测量设备的重复性和复现性,所以,各种条件下的重复性是测量项目主要衡量标准,这通常考验着整体系统的稳定性,机械、电气、光学、算法等,例如机械的振动、照明的变化、来料位置的变化、相机每一帧成像的差异等,都有可能影响重复性。在算法层面,针对照明系统不良的情况,使用模糊条件限制是不错的选择。


- 重点 -

1. 测量助手的使用 2. 模糊测量参数的设置

1

面板介绍

菜单栏

文件:加载图像、加载参数、保存参数等设置

测量:绘制测量区域,显示测量区域边缘轮廓线

代码生成:插入、生成、删除、预览代码等操作

帮助:halcon帮助文档

工具栏

选项卡及其参数

输入选项卡:

图像源选择输入图像的来源,加载本地图像文件还是通过采集助手在线实时采集;

期望灰度值范围设定输入图像灰度级的最小和最大值;

标定来源选择不标定或者选择已经标定过的标定文件,或者选择标定助手实时标定。

边缘选项卡:

边缘提取中的最小边缘幅度为沿着所画得直线或者圆弧与边缘的交点中的最小灰度值;平滑是高斯平滑系数,值越大,唯一边缘越清晰,值越小,干扰边缘越多。

边缘选择中变换是选择正向边缘还是负向边缘,位置为选择第几个边缘。

显示参数选择ROI区域颜色以及边缘的宽度、显示颜色等。

模糊选项卡:

此部分属于测量的高级内容。以更加柔性的标准来定义边缘,防止一刀切的规则导致错误的边缘。需要使用模糊参数时,首先将“使用模糊测量(高级)”选项卡勾选。

后续可以对边缘的对比度、边缘位置、中心位置、边缘对宽度、边缘对平均灰度增加模糊处理,即设置柔性边缘检测规则。

结果选项卡:

显示测量结果,包括边缘特征,特征处理是否变换到世界坐标系下实际物理尺寸,边缘数据中选择图像中的具体哪个测量ROI。

代码生成选项卡:

自动代码生成,点击“插入代码”按钮,即可生成使用测量助手配置的测量代码以及测量结果。

2

使用流程

3

模糊参数

介绍模糊参数之前,熟悉下模糊测量理论部分的相关名词---模糊隶属度。

模糊隶属度:隶属度的数学模型表示一个对象x隶属于集合A的程度的函数。所以,使用模糊条件的限制,对于点集合的划分是柔性的。

Halcon测量助手的模糊选项卡包括以下参数:一般选项、模糊对比度、模糊边缘位置、模糊边缘对中心位置、模糊边缘对宽度、模糊边缘对平均灰度值,以下一一介绍。

一般选项

模糊阈值为基于模糊度进行阈值分割的最小模糊值,在结果选项卡可以看到模糊分数,根据模糊得分调节模糊阈值,归一化比例为归一化模糊值得尺寸大小,此事内部采用的是归一化算法,需要在模糊参数将“归一化”选项卡使能,此滑动条才会有效。一般这二者的调节可以选择右侧的自动条件按钮,halcon内部会调用自适应模糊阈值算法自行调节。

模糊对比度

调节此部分参数时,需要将右侧“Enable”勾选上,此部分可以添加、删除认为好的对比值,下侧曲线显示的是所添加合格值得规律曲线。添加、删除合格值,改变合格值的公差大小,规律曲线都会变化,如下图所示。

模糊边缘位置

此部分子类型(Subtype)所在Combox控件(下拉组合框)中,有如下类型选项

各参数含义如下:

postion: ROI的起始设置为0.

position_center:ROI的中心设置为0.

positon_end: ROI终点位置为0

positon_first_edge:定义第一个边缘位置为0

positon_last_edge:定义最后一个边缘位置为0

将Normlized的复选框(CheckBox)勾选,一般选项中的归一化比例滑动条调节才会有效。

其他部分含义与模糊对比度相同。

模糊边缘对中心位置

Subtype选项

各参数含义如下:

postion_pair: 所定义边缘对ROI的起始设置为0.

postion_pair_center:边缘对ROI的中心设置为0.

postion_pair_end: 边缘对ROI终点位置为0

postion_pair_first_edge:定义第一个边缘对位置为0

postion_pair_last_edge:定义最后一个边缘对位置为0

模糊边缘对宽度

Subtype选项

各参数含义如下:

size: 边缘对之间的距离.

size_diff:边缘对在参考点宽度与实际之间距离的差异.

size_abs_diff: 边缘对在参考点宽度与实际之间距离的绝对差异

此部分参数如何设置为后续实例分析中详细介绍,其他模糊参数可与此对比参考。

模糊边缘对平均灰度值

各参数含义同上。

4

实例分析

开关引脚测量

点击“助手”-》打开测量助手

图像源选择“Image File”,点击右侧文件浏览图标,选择待测图像

切换边缘选项卡,使用划线工具,垂直引脚划线

调节边缘幅度参数,使其出现三组边缘队

将Group Edges to Pairs勾选,选择测量边缘对

边缘极性,选择negitave,表示一组边缘对,第一个边缘从白到黑

将图像所测得边缘对放大显示

可知,由于中间引脚反光的影响,其边缘对不正确

此时不在勾选“Group Edges to Pairs”,将极性Transition选择ALL

调节边缘幅度和光滑系数等边缘参数,使其出现如下左图所示

即中间引脚检测到做左侧边缘

调节出现如红色箭头所指情况后,

将“Group Edges to Pairs”勾选,Transition极性选择negative

针对上述情况,需要剔除中间边缘,选择正确的边缘对,由于调节边缘幅度等参数无效,可以选择模糊参数调节

切换至模糊选项卡

配置模糊参数,必须优先勾选“Use Fuzzy Measure”选项卡

从上图可知,中间引脚边缘对与其他边缘对存在明显的宽度差异,所以,将模糊边缘对使能

点击“增加当前值”按钮,好的值中出现三个边缘对距离值,分别对应三个引脚边缘对

其中索引值第0个,为中间引脚边缘对值,只有3pix左右

其他两个值在9pix左右

下图中的公差在5.11pix,所有最下方的合格值曲线,将3,8,9三个距离连在一起,都为合格的

我们将公差调节至0.01

出现互相分离的3段合格值

从上图可知看出,当前三个边缘对的距离值,为3pix,8pix,9pix

我们合格值定在9pix,公差为2pix,这样可以将3pix剔除在外,包含其他在9pix左右的合格值

点击“Remove All”按钮,清除所有好的值

设置好的宽度值为9pix

设置公差为2pix

呈现测量效果如下图

此时能正确找到合适边缘对

切换结果选项卡

选择结果特征,边缘对宽度,和模糊分数

点击测量ROI Measure01

可以得出测量结果

切换代码生成选项卡

点击插入代码

插入代码后,程序编辑框代码如下

经过整理注释后如下

*设置最小边缘幅度40
AmplitudeThreshold := 20
*设置宽为13.5
RoiWidthLen2 := 5
*设置系统参数
set_system ('int_zooming', 'true')
* 设置检测直线的起点和终点
LineRowStart_Measure_01_0 := 250
LineColumnStart_Measure_01_0 := 221
LineRowEnd_Measure_01_0 := 340
LineColumnEnd_Measure_01_0 := 137
* 计算测量矩形的参数,为下一步生成测量矩形做准备
TmpCtrl_Row := 0.5*(LineRowStart_Measure_01_0+LineRowEnd_Measure_01_0)
TmpCtrl_Column := 0.5*(LineColumnStart_Measure_01_0+LineColumnEnd_Measure_01_0)
TmpCtrl_Dr := LineRowStart_Measure_01_0-LineRowEnd_Measure_01_0
TmpCtrl_Dc := LineColumnEnd_Measure_01_0-LineColumnStart_Measure_01_0
TmpCtrl_Phi := atan2(TmpCtrl_Dr, TmpCtrl_Dc)
TmpCtrl_Len1 := 0.5*sqrt(TmpCtrl_Dr*TmpCtrl_Dr + TmpCtrl_Dc*TmpCtrl_Dc)
TmpCtrl_Len2 := RoiWidthLen2
* 生成测量矩形
gen_measure_rectangle2 (TmpCtrl_Row, TmpCtrl_Column, TmpCtrl_Phi, TmpCtrl_Len1, TmpCtrl_Len2, 640, 480, 'nearest_neighbor', MsrHandle_Measure_01_0)
* 设置模糊测量函数
FuzzyThreshold := 0.6
create_funct_1d_pairs ([7,8,10,11], [0,1,1,0], TmpCtrl_FunctionSize)
set_fuzzy_measure (MsrHandle_Measure_01_0, 'size', TmpCtrl_FunctionSize)
* 加载图片
read_image (Image, 'C:/Users/Administrator/Desktop/bin_switch_2.png')
* 进行模糊测量边缘对
fuzzy_measure_pairs (Image, MsrHandle_Measure_01_0, 1.1, AmplitudeThreshold, 0.6, 'negative', Row1_Measure_01_0, Column1_Measure_01_0, Amplitude1_Measure_01_0, Row2_Measure_01_0, Column2_Measure_01_0, Amplitude2_Measure_01_0, TmpCtrl_RowCenter, TmpCtrl_ColumnCenter, Score_Measure_01_0, Width_Measure_01_0, Distance_Measure_01_0)
* 清除测量句柄

注:文章前半部分在家所写,halcon中文版,后半部分在公司所写,使用英文版,虽然测量工具比较常用,但相关知识点梳理总结,再以文字形式叙述出来,还是需要一定时间的,如果觉得本文对您有所帮助,请点击文中广告,加以鼓励!

本文分享自微信公众号 - 机器视觉那些事儿(jiqishijue),作者:threeQing

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【测量篇】(1)1D测量

    清朝三百年,将国人的奴性打磨的根深蒂固,伟人毛主席将反抗的火种播撒至每个人的心中,随着经济的高速发展,一些资产违背国家意愿,逐渐形成联盟,劳动力阶级一定要摆脱轮...

    threeQing
  • 白边毛刺检测

    对于此类需求,我们可以联想到胶路检测,通常胶路检测以“胶宽”和“胶高”这两个特征来度量,而对于上述对比度接近透明的溢胶情况,我们发现溢胶内部与背景的灰度对比不明...

    threeQing
  • 无纺布折痕检测(1)· 基于构造方向滤波器的折痕检测

    (图片来源:http://www.ihalcon.com/read-4226.html)

    threeQing
  • GSMA发布《5G时代的边缘计算:中国的技术和市场发展》报告(附下载)

    2020年3月3日, GSMA发布了与边缘计算产业联盟(ECC)共同完成的《5G时代的边缘计算:中国的技术和市场发展》(Edge computing in th...

    SDNLAB
  • 干货丨对边缘计算的理解与思考

    在2019年第三届边缘计算技术研讨会上华为高级产业发展经理、ECC需求与总体组副主席黄还青发表了《ECC及华为在边缘计算领域的思考与实践》主题演讲,本文为黄还青...

    边缘计算
  • 边缘计算在5G中的应用研究

    摘要:随着我国 5G 商用牌照的发放和 5G 网络建设的日益加快,边缘计算作为 5G 的关键技术之一,在靠近用户端即网络边缘就近提供内容分发和存储计算服务,以减...

    边缘计算
  • 一文看懂为什么边缘计算是大势所趋 | GSMA 报告

    今年3月份, GSMA发布了与边缘计算产业联盟(ECC)共同完成的《5G 时代的边缘计算:中国的技术和市场发展》报告。

    边缘计算
  • golang知识图谱NLP实战第三节——实体三元组关系抽取

    版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

    hotqin888
  • RedHat Linux服务器安全配置细节

    云豆贴心提醒,本文阅读时间8分钟 1.概述 Linux服务器版本:RedHat Linux AS 2.1 对于开放式的操作系统---Linux,系统的安全设...

    小小科
  • 中国在这个领域拥有倾覆性优势:将超越美国

    一直以来,美国人一直相信自己是世界顶级科技的引领者和领导者。不过,现在有足够的理由相信,在人工智能领域(AI),中国正悄悄接近美国,拥有倾覆性优势,甚至将其超越...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券