石鑫华视觉 发表于 2021-4-20 11:54:03

IMAQ Particle Filter粒子滤波器函数的条件选择默认使用或方式来处理各种条件

IMAQ Particle Filter粒子滤波器函数的选择条件默认使用或方式来处理各种条件
在NI VISION中有IMAQ Particle Filter 3粒子滤波器函数,这个函数在视觉助手、VBAI中也都是包含有的。而且很多时候,都会使用该函数,用于过滤一些不需要的干扰粒子。但是如果认真研究,就可以发现,这个函数选择的过滤条件(如面积、长度、宽度等),是使用或方式来处理的,即只要满足选择的条件中任意一个,就被认为是在范围内的粒子。如果不注意这个限制,认为其应该是与方式(即要满足所有选择条件的粒子才是目标粒子),那么就会产生设置的条件不起作用的认知:

IMAQ Particle Filter 3粒子滤波器函数

验证程序框图(选择了面积、宽度、高度三个条件)

与方式(使用For循环来处理,或是在少数几个确定条件时,可以使用多个粒子滤波器函数)

或方式
从上面的效果来看,使用与方式时,需要同时满足选择的面积、宽度、高度三个条件的粒子才是目标粒子,而如果是或方式(默认的数组方式),则只要满足面积、宽度、高度三个中的任意一个条件,就是目标粒子。所以,从结果来看,或方式有4个粒子,而与方式,则有一个粒子。而其选择的条件是一样的。
粒子滤波器实际上耗时是比较久的,所以如果要重复的使用粒子分析过滤多个条件,这个对于图像处理的速度影响是比较大的。那么有什么办法来实现与方式来滤波吗?当然是可以的。
因为粒子滤波器函数中条件有范围内和范围外的选项,而满足条件的粒子有保持和删除的选项,所以实际上,也是可以通过这两个布尔控件来实现与方式。粒子分析的默认值是范围内的保留,或方式。所以只要满足一个条件的粒子,都会被保留下来。而要想多条件范围内的粒子保留下来,那么可以设置成范围外的删除:【满足条件1且满足条件2的保留】等效于【不满足条件1或不满足条件2的删除】。

通过改变范围外的删除来实现与方式的程序框图粒子滤波器的与处理方式LabVIEW示例与图像:LabVIEW2020SP1+VDM2021SP1


water0229 发表于 2021-4-26 16:36:08

学习~!~~~~~~~~学习~~~~~~~~~~~~~~~~
页: [1]
查看完整版本: IMAQ Particle Filter粒子滤波器函数的条件选择默认使用或方式来处理各种条件

LabVIEW HALCON图像处理入门教程(24.09)
石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
《LabVIEW Vision函数实例详解2020-2024》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24