石鑫华视觉 手机微信QQ:13450001061

图像编程

VBAI中视觉助手查找表函数确认算法时前面的算法被隐藏的错误

文章来源:石鑫华视觉网时间:2024-06-18 10:00:24 点击:159

VBAI中视觉助手查找表函数确认算法时前面的算法被隐藏的错误

VBAI中视觉助手查找表函数确认算法时前面的算法被隐藏的错误视频号

VBAI中视觉助手查找表函数确认算法时前面的算法被隐藏的错误B站

作者在使用VBAI(Vision Builder for Automated Inspection)自动检测视觉生成器软件的过程中,发现其中的Vision Assistant视觉助手函数中的Lookup查找表函数存在一个小问题:在算子列表中,选择了第三个以后的查找表算子确认后,再返回编辑时,前面的算子被隐藏了。主要是因为顶行被赋值了,而又没有显示列表的垂直滚动条,所以才会造成这样的问题。

查找表函数

在查找表函数没有什么参数可以设置,主要就是一个查表找算子的列表。在这个列表中枚举了原始图像以及其他所有支持的查找表算子。选择Image Source原始图像时,查找表函数不可以OK确认,只有选择具体的查找表算子时,才可以确认该步骤到视觉助手脚本区中。列表中的项,Image Source原始图像索引是0,横线是1,Equalize均衡是2,Reverse反转是3。原始图像选择了不可以确认,横线不能选择,只起到分割符的意思。所以至少要选择均衡后的函数。当选择均衡时,确认后再打开编辑时如下:

选择均衡再编辑-算子列表正常

选择反转再编辑-Image Source原始图像已经被隐藏

而当选择反转再编辑时,则原始图像列表项已经被隐藏了。如果选择了最后的Power 1/X再编辑:

选择Power 1/X编辑

选择Power 1/W再编辑时,则前面的很多项都被隐藏了,仅保留了三个项可显示。这里其实就是列表的顶行属性设置的问题。下面看一个VI的顶行属性的操作。列表控件共有0~5,六个选项,默认的垂直滚动条隐藏掉。设计成列表框值改变事件,做判断选择的项值-2是否大于等于0,是,则使用项值-2赋值给顶行属性;否,则顶行属性写0值。

选择0项时,顶行=0

选择2项时,顶行=0

当选择列表中的0、1、2项时,列表框的顶行为0值,不改变顶行的位置。

选择3项时,顶行=1

选择5项时,顶行=3

这里的效果就和VBAI中的查找表中的项改变效果是一样的,前面的也被隐藏了。垂直滚动条隐藏了,所以无法再看到其他的项。那么要解决这个问题在LabVIEW里是很好解决的,只要显示垂直滚动条就可以了。

垂直滚动条可见

垂直滚动条可见时,即使顶行值太大,把前面的项隐藏了,也是可以使用滚动条拖到前面的项进行显示。滚动条在VBAI中的其他列表项更多的函数中是有显示的:

VBAI滤波器函数中的顶行是设置为当前选择的值且滚动条是可见的

那么,VBAI中的查找表中隐藏项的这个问题该如何解决呢?查找表函数除了Power X和Power 1/X两个算子有X的参数外,其他的算子都是没有参数的,所以编辑查找表函数通常是为了切换不同的查找表算子,而不是为了修改参数。这时比较直接的方法,就是删除脚本中当前的查找表函数,然后重新插入一个新的算子的查找表函数。这样其实也花不了什么时间,还是比较快的。

第二种方法,VBAI的查找表函数的顶行是当前值-2,那么可以重新选择当前值上面的两项,这时顶行也会往上移一两个位置:

编辑Power 1/X查找表时选择Squre Root平方根算子

确认再次编辑查找表时平均根为当前值,顶行则为Expoential指数算子

而后可以再选择Expoential指数算子……,这种方法则麻烦一些,如果要想从Power 1/X到均衡看到原始图像选项,那么可能需要编辑重选4次算子。

第三种方法,是最有效且实用的方法,那就是在列表的任意位置按住鼠标左键不放往上拖(类似于拖动选项或拖动垂直滚动条的功能,但是这里并不需要选择具体的选项,当然你要选择具体的选项也是可以的,不过即使选择了选项,选项也不会被拖动移动位置),这样就可以把其他的项也显示出来了:

编辑Power 1/X时往上拖到Image Source显示出原始图像项

这种方法是最实用,且最有效的。不需要删除重新插入新函数,就可以重新编辑当前的查找表函数了。速度也比较快,不需要选择中间其他的算子过渡。

首页
84162741QQ
联系