NI视觉助手Vision Assistant教程
Image buffer图像缓存,函数说明信息为保存图像在缓存中并且可以取回这些图像。其函数在面板中的位置如下图所示:
图1 Image Buffer图像缓存
图像缓存的作用就是NI Vision中的复制函数IMAQ Copy。即建立新的图像缓存区,将当前的图像复制到新的图像缓存区中缓存下来,当有需要调用时,可以随时调用新的图像缓存区中的图像。点击函数后的界面如下图所示:
图2 Image Buffer图像缓存界面
图3 Image Buffer图像缓存设置
图3为图像缓存的Setup设置界面。图像缓存只有一个Image Buffer图像缓存选项卡。里面包含了Step Name步骤名。另一个参数就是Operation操作指令,有Store存储、Retrieve取回两个选项可以使用。第三个参数是Image Buffer图像缓存,NI Vision Assistant视觉助手已经分配好了10个图像缓存区域。可以看到图像缓存有Buffer # X,缓存号,还有后面的说明信息empty空白。可以选择任何一个图像缓存用于缓存图像。
如下图所示,首先选择Store保存(如果未保而使用Retrieve取回,则因为没有相应的图像缓存,10个图像缓存都是灰色禁用的),然后选择Buffer # 1缓存1:
图4 Image Buffer选择图像缓存号
选择好了缓存后,点击OK按钮,这里在脚本区会有一个图像缓存函数,如下图所示:
图5 Image Buffer图像缓存
图像缓存后,双击打开图像缓存函数,可以看到前面选择的图像缓存号已经被占用,提示信息为Copy。
图6 Image Buffer图像缓存-Copy已经复制
在图6所示界面中,缓存1已经有图像了。这个时候,还可以选择缓存2再进行一次缓存。不过这样的意义不大,因为前面步骤的图像已经被缓存到了缓存1中,没有必要缓存多个复本。使用不同的缓存号时,一般是用于不同的处理时期,图像不一样时进行缓存,如原始图像进行缓存、滤波后进行缓存、二值化后缓存、形态学后的缓存等。
在脚本区中已经有图像缓存函数后,可以再点击Image Buffer图像缓存函数,这里就可以使用Retrieve取回操作了。取回时,只能选择已经保存的了图像的图像缓存,如下图所示:
图7 Image Buffer-Retrieve取回缓存图像
缓存图像取回后,则可以继续用于图像缓存后的其它函数。下面来看一个具体的例子:
图8 Image Buffer图像缓存演示例子
在图8所示的演示例子中,打开原始图像后,第一步使用图像缓存保存原始图像
图9 第一步-保存原始图像
第二步对原始图像做二值化处理
图10 第二步-原始图像二值化
第三步则使用形态学,将连接边缘的目标移移除,只留下中间的一个小三角形
图11 第三步-移除触边目标
第四步使用查找表-相等,使二值化后的红色目标转换为白色目标:
图12 第四步-查找表-相等
第五步,使用图像缓存保存使用查找表后图像:
图13 第五步-保存处理后图像
第六步,使用图像缓存函数,取回第一步中的保存的原始图像:
图14 第六步-取回原始图像
第七步,使用灰度图像中的运算函数,对原始图像与处理后的图像进行减法运算,从而将Jumper中间的倒梯形填充掉。
图15 第七步-原始图像-处理图像
这里只是为了演示图像缓存的作用,如果仅仅只是为了完成填充倒梯形的功能,可以使用其它的函数完成,会更方便。
精品石鑫华NI Vision Assistant视觉助手图像处理实用教程视频版-淘宝网