工控编程吧

标题: 工业视觉halcon convol_image函数介绍 [打印本页]

作者: qq263946146    时间: 2019-6-5 22:34
标题: 工业视觉halcon convol_image函数介绍
convol_image(Image : ImageResult : FilterMask, Margin : )
convol_image计算输入图像Image 与任意线性滤波掩码之间的相关性。
使用的过滤器掩码(FilterMask中给出)可以从文件加载,也可以作为元组传递。
图像边框处理的几个选项可以选择(Margin):


灰度值 图像边框外的灰度值像素假设为常数(用常量灰度值表示)。


“continue” 是图像边框上灰度值的延续。

“cyclic” 图像边框的循环延续。

“mirrored” 像素在图像边框上的反射。


在所有的图像位置,计算图像和滤波掩模之间的相关性。
如果发生溢出或下溢,则会剪切生成的灰色值。
因此,如果使用导致负输出值的过滤器(例如导数过滤器),则输入图像应该是int2或实数类型。


掩模的参考像素,即,确定当前图像位置上的像素,计算相关关系,确定如下:
首先,计算权重为0以外的所有掩模像素的区域。
然后,计算这个区域的中心并四舍五入。这是找朋友的参考点。


如果在FilterMask中给定文件名,则从具有以下结构的文本文件中读取过滤器掩码:
<Mask size>
   <Inverse weight of the mask>
   <Matrix>

第一行包含过滤器的大小,给定为两个用空格分隔的数字(例如,3 * 3 = 3 * 3)。
这里,第一个数字定义过滤器掩码的高度(行),
而第二个数字定义它的宽度(列)。
下一行包含掩码的逆权值,即,在特定图像位置的相关系数要除以的数。


其余的行包含整型或浮点数形式的过滤器掩码(由空格分隔),文件中每行包含掩码的一行。
过滤器掩码的默认HALCON文件扩展名为“fil”。
没有必要将这个扩展传递给操作符。
如果要从一个元组计算过滤器掩码,那么FilterMask中给出的元组也必须满足上面描述的结构。
但是,在这种情况下,忽略了换行。


例如,让我们假设我们想使用下面的过滤器掩码:
(, 下载次数: 0)