第二十一课: 模板匹配的基本概念---Variation Model(Print Check)

简介:Variation Model的主要原理是将待检测的图像与一张标准图像作比较,找出待检测图像与标准图像(idealimage)的明显差异(也就是不良)。标准图像可以采用几张OK品的图像训练(training)得到,也可以通过对一张OK品图像进行处理得到。训练后得到标准图像和一张variation图像(variationimage),variation图像中包含了图像中每个像素点灰度值允许变化的范围。标准图像和variation图像用来创建一个variationmodel,如此,其他图像就可以与variationmodel作比较了。(引用http://blog.sina.com.cn/s/blog_802a94a20102v10y.html)

1、create_variation_model( : : WidthHeightTypeMode : ModelID)

输入参数:width、Height是模板和待检测图像的尺寸。

输入参数:Type,是图像的类型。

输入参数:Model,决定如何计算idealimage和variationimage,其有三种模式

1)、standard,该模式下,可以使用算子train_variation_model对多张图片进行迭代训练,此时ideal image是通过计算多张图片的平均值获得,variation image是通过计算多张图片的标准方差获得。该模式的优点是可以迭代计算多张good image,缺点是在训练图片时,一旦有不良的图片混入会导致算法检测时出现误判。

注意:在训练多张图片时,每张图片的位置、角度都必须一致,可使用基于形状匹配来进行定位处理,然后再进行训练train_variation_model

2)、'robust',如果在训练多张图片时,无法避免训练的图片中出现未知瑕疵,可以使用该模式。此时,ideal image时通过计算多张图片的中值获得,variation image也是通过计算多张图片中值获得。该模式的优点是鲁棒性更强,缺点是无法进行迭代预算。

注意:训练多张张图片时,每张图片的位置、角度必须一致,然后使用concat_obj将图片组合起来,在使用train_variation_model进行训练。

以上两种模式下,训练完图片后只能使用prepare_variation_model算子准备用于图像比较的模板。

3)、'direct',该模式下,可以使用一张图片训练,并不需要使用train_variation_model训练模板,但只能使用prepare_direct_variation_model准备模板,并且prepare_direct_variation_model中的RefImage,就是模板图像,而 VarImage必须通过其他边缘算子生成如,sobel_amp,edges_image, or gray_range_rect.,或者自己制造一个边缘(见Halcon12例程variation_model_single)


2、train_variation_model(Images : : ModelID : )

训练Variation Model。


3、get_variation_model( : ImageVarImage : ModelID : )

返回variation model中的标准图像(Image)和variation image(VarImage),此算子主要用来检视创建的variation model是否OK。


4、prepare_variation_model( : : ModelIDAbsThresholdVarThreshold : )

      prepare_direct_variation_model(RefImageVarImage : : ModelIDAbsThresholdVarThreshold : )

这两个算子的作用是准备用于比较图片的模板,其不同在上文已说明。

输入参数:ModelID,训练或生成的模板。

输入参数:AbsThreshold,绝对阈值。

输入参数:VarThreshold ,相对阈值。

AbsThresholdVarThreshold 可以分别有一个值,也可以分别有两个值。当都只有一个值的时候,亮暗缺陷都是其决定的。

i(x,y)表示ideal image灰度值,v(x,y)表示variation image灰度值,c(x,y)表示待检测图片的灰度值,a=AbsThreshold,b=VarThreshold

当c(x,y)>i(x,y)+ max{a,b*v(x,y)}为亮缺陷。

当c(x,y)<i(x,y)- max{a,b*v(x,y)}为暗缺陷。

AbsThresholdVarThreshold有两个值时,第一个值决定亮缺陷,第二个值决定暗缺陷。

i(x,y)表示ideal image灰度值,v(x,y)表示variation image灰度值,c(x,y)表示待检测图片的灰度值,AbsThreshold=[a1,a2],VarThreshold =[b1,b2]

当c(x,y)>i(x,y)+ max{a1,b1*v(x,y)}为亮缺陷。

当c(x,y)<i(x,y)- max{a2,b2*v(x,y)}为暗缺陷。


5、compare_variation_model(Image : Region : ModelID : )

输入参数:Image,该图像为待检测图像,需要注意的是,该图像也必须与模板图像对齐。

输出参数:Region,检测出来的区域。输入参数:ModelID,准备好的模板ID。


6、compare_ext_variation_model(Image : Region : ModelIDMode : )

该算子是算子compare_variation_model的拓展,其参数 MODE可以控制输出暗或亮缺陷或者都输出

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值