HALCON:Variation Model用法解析
HALCON:Variation Model用法解析
Variation Model的主要原理是将待检测的图像与一张标准图像作比较,找出待检测图像与标准图像(ideal image)的明显差异(也就是不良)。标准图像可以采用几张OK品的图像训练(training)得到,也可以通过对一张OK品图像进行处理得到。训练后得到标准图像和一张variation图像(variation image),variation图像中包含了图像中每个像素点灰度值允许变化的范围。标准图像和variation图像用来创建一个variation model,如此,其他图像就可以与variation model作比较了。
Variation Model方法中常用的算子:
create_variation_model( : : Width, Height, Type, Mode : ModelID)
说明:创建一个ID为ModelID,宽为Width,高为Height,类型为Type的Variation Model,参数Mode决定了创建标准图像和相应的variation图像的方法。'standard'表示标准的训练方法,标准图像的位置是各训练图像位置的平均,'robust'表示鲁棒的训练方法,标准图像的位置是各训练图像的中值,此模式在训练图像中可能存在ERROR时使用,'direct'表示标准图像由单张图像经过处理得到,由此方法得到的标准图像只能应用prepare_direct_variation_model算子得到variation model。
train_variation_model(Images : : ModelID : )
说明:训练一个Variation Model。
get_variation_model( : Image, VarImage : ModelID : )
说明:返回variation model中的标准图像(Image)和variation image(VarImage),此算子主要用来检视创建的variation model是否OK。
prepare_variation_model( : : ModelID, AbsThreshold, VarThreshold : )
说明:设置variation model的绝对阈值和相对阈值。绝对阈值即待检测图像与标准图像的差值,相对阈值即待检测图像与variation model与VarThreshold乘绩的差值。
clear_train_data_variation_model( : : ModelID : )
说明:清除variation model的训练数据所占用的内存。
compare_variation_model(Image : Region : ModelID : )
说明:待检测图像与variation model进行比较,超过阈值的区域在Rgion参数中返回。同threshold一样,返回的区域被看做一个区域,可以使用connection算子进行连通性分析,然后根据区域的特征(如面积)对区域进行选择。
clear_variation_model( : : ModelID : )
说明:释放一个variation model的内存空间
【注】在model训练和比较的时候,常常需要对图像进行模板匹配,以使图像准确对齐。
【总结】Variation Model使用标准图像与待检测图像灰度值相比较,来判断产品是否OK,适用于印刷品检测及产品表面检测。从实际算法过程可以看出,此检测实际可分为两部分,对于图像中的大面积灰度一致区域,主要利用待检测图像与标准图像(ideal image)比较得出差异区域,对于图像中的边缘位置(edges)区域,主要利用待检测图像与Variation图像(variation image)比较得出差异区域。所以在实际应用中,应根据实际情况设置AbsThreshold和VarThreshold的值。
【转载】http://blog.sina.com.cn/s/blog_802a94a20102v10y.html
HALCON:Variation Model用法解析相关推荐
- HALCON:lines_gauss用法解析
HALCON:lines_gauss用法解析 lines_gauss:检测图像中的线条及其宽度,在视觉表面检测方面应用广泛. lines_gauss(Image : Lines : Sigma, Lo ...
- HALCON: texture_laws用法解析
HALCON: texture_laws用法解析 纹理分析是图像处理中的一种典型任务,texture_laws是Halcon中纹理分析的重要算子,其本质原理是利用不同的kernel与图像进行卷积运算, ...
- scipy.optimize.curve_fit函数用法解析
scipy.optimize.curve_fit函数用法解析 转:https://zhuanlan.zhihu.com/p/144353126 optimize.curve_fit()函数,用于日常数 ...
- 四种Java线程池用法解析
四种Java线程池用法解析 本文为大家分析四种Java线程池用法,供大家参考,具体内容如下 http://www.jb51.net/article/81843.htm 1.new Thread的弊端 ...
- mysql have_mysql having用法解析
having的用法 having字句可以让我们筛选成组后的各种数据,where字句在聚合前先筛选记录,也就是说作用在group by和having字句前.而 having子句在聚合后对组记录进行筛选. ...
- argparse.ArgumentParser()用法解析
argparse.ArgumentParser()用法解析(https://blog.csdn.net/the_time_runner/article/details/97941409) https: ...
- sql中group by 和having 用法解析
--sql中的group by 用法解析: -- Group By语句从英文的字面意义上理解就是"根据(by)一定的规则进行分组(Group)". --它的作用是通过一定的规则将一 ...
- python global和nonlocal用法解析
这篇文章主要介绍了python global和nonlocal用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 global和nonlocal ...
- word2vec实例详解python_Python实现word2Vec model过程解析
这篇文章主要介绍了Python实现word2Vec model过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import gensim, ...
最新文章
- 曾被无视多年,却成就19世纪最伟大的一场革命,影响了整个世界!
- Meta为元宇宙建全球最快AI超算,1.6万个A100 GPU,英伟达都赚麻了
- 中间人攻击-http流量嗅探
- HUT-XXXX Strange display 容斥定理,线性规划
- 20155311高梓云的随笔
- 数据结构与算法 完整版单链表(附GIF)
- stat /bin/bash: no such file or directory“: unknown.
- Java通过反射获取类的私有属性和方法
- sql server 2005 T-SQL @@TOTAL_WRITE (Transact-SQL)
- anaconda的使用
- UOS桌面操作系统专业版字体
- 汇编中的OFFSET(OFFSET为属性操作符,表示应该把其后跟着的符号地址的值(不是内容)作为操作数)
- 实施质量保证和控制质量的区别
- STM32F103C8T6和STM32F103C6T6区别
- Dorado7 notify非alert 输入框prompt confirm layer dialoger,layer.msg,toast效果,几秒关闭layer.load layer.open
- msbuild构建步骤_使用并行构建和多核CPU的MSBuild进行更快的构建
- Hadoop安装错误:Cannot set priority of secondarynamenode process : xxxxx
- SQL 2005安装时报已经安装了同名实例的问题解决。(无法正确卸载干净时最管用)
- 聊聊荣耀30S 5G手机到底值不值得买?
- 白帽子讲web安全PDF完整版