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的内存空间
PS:在model训练和比较的时候,常常需要对图像进行模板匹配,以使图像准确对齐。
总结: Variation Model使用标准图像与待检测图像灰度值相比较,来判断产品是否OK,适用于印刷品检测及产品表面检测。从实际算法过程可以看出,此检测实际可分为两部分,对于图像中的大面积灰度一致区域,主要利用待检测图像与标准图像(ideal image)比较得出差异区域,对于图像中的边缘位置(edges)区域,主要利用待检测图像与Variation图像(variation image)比较得出差异区域。所以在实际应用中,应根据实际情况设置AbsThreshold和VarThreshold的值。
Variation Model的应用的更多相关文章
- Halcon之 Variation Model(转)
Variation Model的主要原理是将待检测的图像与一张标准图像作比较,找出待检测图像与标准图像(ideal image)的明显差异(也就是不良).标准图像可以采用几张OK品的图像训练(trai ...
- halcon算子
halcon的算子列表 Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样 ...
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数013,shape模型
<zw版·Halcon-delphi系列原创教程> Halcon分类函数013,shape模型 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“**”,替换:“pr ...
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数006, image,影像处理(像素图)
<zw版·Halcon-delphi系列原创教程> Halcon分类函数006, image,影像处理(像素图) 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“* ...
- halcon的算子列表
Chapter 1 :Classification 1.1 Gaussian-Mixture-Models 1.add_sample_class_gmm 功能:把一个训练样本添加到一个高斯混合模型的训 ...
- halcon学习之产品检测
Rinspect_gasket_local_deformable.hdev 检测垫圈局部变形 *这个例子演示了如何利用局部变形匹配(local deformable matching)来寻找出 ...
- halcon中variation_model_single实例注释.
* This example shows how to employ the new extensions of HALCON's variation model operators* to perf ...
- 《zw版·delphi与halcon系列原创教程》zw版_THOperatorSetX控件函数列表 v11中文增强版
<zw版·delphi与halcon系列原创教程>zw版_THOperatorSetX控件函数列表v11中文增强版 Halcon虽然庞大,光HALCONXLib_TLB.pas文件,源码就 ...
- Halcon相关
1.Halcon的自我描述 Program Logic Ø Each program consists of a sequence of HALCON operators Ø The progra ...
随机推荐
- IOS-网络(AFNetworking)
一.AFNetWorking基本使用 // // ViewController.m // IOS_0112_AFNetWorking // // Created by ma c on 16/2/11. ...
- SSRS实现 矩阵列实现动态列
需求背景:按区域查询店铺的销售量和库存量,然后店铺的数据是动态的.实现类似效果如下图,其中蓝色框是动态的,店铺的数量是不确定的,可能是3个,也可能是20个. 步骤一: 步骤二: 加工后: 最后效果:
- STL标准库-容器-rb_tree
技术在于交流.沟通,本文为博主原创文章转载请注明出处并保持作品的完整性 红黑树,关联式容器底层实现(map set),在使用中基本运用不到,但是还是想了解一下他的运作方式 Red_Black tree ...
- yaf路由配置规则
使用框架的默认路由来访问的时候,会遇到一些困扰,这部分无法查看源代码,只能通过猜测来分析. 如果项目有多个模块,显然使用yaf的默认的静态路由是无法满足需求的. yaf默认的配置是着这样的: appl ...
- Swapping eth0 and eth1 on OK335xS board
/******************************************************************************* * Swapping eth0 and ...
- 揭密FutureTask
Future是我们在使用java实现异步时最常用到的一个类,我们可以向线程池提交一个Callable,并通过future对象获取执行结果.本篇文章主要讲述了JUC中FutureTask中的一些实现原理 ...
- java利用freemarker导出world
一.简单导出(不含循环导出) 1.新建一个word文件.如下图: 2.使用word将文件另存为xml的格式 3.编辑xml文件内容,将'用户名'替换成-> ${username}.'简介'替换成 ...
- 【linux】centos6.5搭建svn
1.检查是否已安装 rpm -qa subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion PS:yum inst ...
- Makefile之自动变量篇
自动变量假设您编写一个编译‘.c’文件生成‘.o’文件的规则:您怎样编写命令‘CC’,使它能够操作正确的文件名?您当然不能将文件名直接写进命令中,因为每次使用隐含规则操作的文件名都不一样. 您应该使用 ...
- bzoj 3615: MSS
Description 小C正在出一道题...因为语文水平有限他想不出复杂的背景,所以以下就是题意了. 平面上有N个点,开始时每个点属于一个不同的集合.不妨设点Pi属于集合Si.请维护数据结构支持以下 ...