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

图像编程

NI视觉助手Vision Assistant教程 第五章 图像处理-Image图像 第九节 Image Buffer图像缓存

文章来源:石鑫华视觉网时间:2022-09-08 12:04:06 点击:350

NI视觉助手Vision Assistant教程

第五章 图像处理-Image图像

第九节 Image Buffer图像缓存

Image buffer图像缓存,函数说明信息为保存图像在缓存中并且可以取回这些图像。其函数在面板中的位置如下图所示:

image.png

图1 Image Buffer图像缓存

图像缓存的作用就是NI Vision中的复制函数IMAQ Copy。即建立新的图像缓存区,将当前的图像复制到新的图像缓存区中缓存下来,当有需要调用时,可以随时调用新的图像缓存区中的图像。点击函数后的界面如下图所示:

image.png

图2 Image Buffer图像缓存界面

image.png

图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:

image.png

图4 Image Buffer选择图像缓存号

选择好了缓存后,点击OK按钮,这里在脚本区会有一个图像缓存函数,如下图所示:

image.png

图5 Image Buffer图像缓存

图像缓存后,双击打开图像缓存函数,可以看到前面选择的图像缓存号已经被占用,提示信息为Copy。

image.png

图6 Image Buffer图像缓存-Copy已经复制

在图6所示界面中,缓存1已经有图像了。这个时候,还可以选择缓存2再进行一次缓存。不过这样的意义不大,因为前面步骤的图像已经被缓存到了缓存1中,没有必要缓存多个复本。使用不同的缓存号时,一般是用于不同的处理时期,图像不一样时进行缓存,如原始图像进行缓存、滤波后进行缓存、二值化后缓存、形态学后的缓存等。

在脚本区中已经有图像缓存函数后,可以再点击Image Buffer图像缓存函数,这里就可以使用Retrieve取回操作了。取回时,只能选择已经保存的了图像的图像缓存,如下图所示:

image.png

图7 Image Buffer-Retrieve取回缓存图像

缓存图像取回后,则可以继续用于图像缓存后的其它函数。下面来看一个具体的例子:

正在上传...

图8 Image Buffer图像缓存演示例子

在图8所示的演示例子中,打开原始图像后,第一步使用图像缓存保存原始图像

图9 第一步-保存原始图像

第二步对原始图像做二值化处理

image.png

图10 第二步-原始图像二值化

第三步则使用形态学,将连接边缘的目标移移除,只留下中间的一个小三角形

image.png

图11 第三步-移除触边目标

第四步使用查找表-相等,使二值化后的红色目标转换为白色目标:

image.png

图12 第四步-查找表-相等

第五步,使用图像缓存保存使用查找表后图像:

image.png

图13 第五步-保存处理后图像

第六步,使用图像缓存函数,取回第一步中的保存的原始图像:

image.png

图14 第六步-取回原始图像

第七步,使用灰度图像中的运算函数,对原始图像与处理后的图像进行减法运算,从而将Jumper中间的倒梯形填充掉。

image.png

图15 第七步-原始图像-处理图像

这里只是为了演示图像缓存的作用,如果仅仅只是为了完成填充倒梯形的功能,可以使用其它的函数完成,会更方便。

精品石鑫华NI Vision Assistant视觉助手图像处理实用教程视频版-淘宝网

https://item.taobao.com/item.htm?id=538756535591

首页
84162741QQ
联系