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

图像编程

NI视觉助手Vision Assistant教程 第五章 图像处理-Image图像 第七节 Image Mask 图像掩模

文章来源:石鑫华视觉网时间:2022-09-08 11:40:12 点击:864

NI视觉助手Vision Assistant教程

第五章 图像处理-Image图像

第七节 Image Mask 图像掩模

Image Mask图像掩模,函数说明信息为创建一个掩模从整幅图像或一个选择的感兴趣区域(ROI)。Image Mask的作用是建立一个掩模,兴趣区域内为1,兴趣区域外为0,然后与待处理的图像相乘,使其图像兴趣区域内的图像得以保留(与1相乘),而在兴趣区域外的图像则全部变为黑色的(与0相乘)。其函数在面板中的位置如下图所示:

image.png

图1 Image Mask图像掩模

点击函数后,进入图像掩模设置面板,Image Mask函数在没有设置ROI前,是不会对图像进行操作的,因此原始图像默认是不会有变化的,如下图所示:

image.png

图2 Image Mask 图像掩模设置界面

图像掩模函数因为只设置图像的ROI、改变图像的大小等,因此可以针对不同的格式的图像,如彩色图像,灰度图像等。下面来看一下Image Mask的Setup设置页面。

image.png

图3 Image Mask设置-Main选项卡

image.png

图4 Image Mask设置-Mask选项卡

Image Mask图像掩模函数有两个选项卡,Main选项卡与前面介绍的选项卡一样,主要是步骤名、移动ROI、参考坐标系。

Image Mask的Mask选项卡中,第一分部为创建Mask的方式,分为两类,一类为Create from ROI从ROI创建,另一类为Create from Image File从图像文件创建。先来学习下第一类,从ROI创建掩模。

首先在图像中设置一个ROI,如下图所示:

image.png

图5 Image Mask-从ROI创建掩模-设置ROI

设置好ROI后,然后点击Mask选项卡中的Set ROI按钮,这时会使用掩模对图像进行处理,得到处理后的图像:

image.png

图6 Image Mask设置ROI

从上图看到,使用Mask处理后,可以看到ROI外面的图像被一些蓝色上方框屏蔽掉了,只有ROI内部的容易是实际真实的。

再看一下Mask选项卡中的另外一部分,Mask Pixels that are掩模像素是(哪里),这个选项的名称根据创建Mask的方法不同,选项会略有不同,其作用就是指定图像6中所显示的蓝色小方框的区域。当使用ROI创建Mask时,掩模像素可用的两个选项上是:Outside the ROI 感兴趣区域外(蓝色小方框在ROI外面)和Inside the ROI感兴趣区域里(蓝色小方框在ROI里面)。下面可以看一下使用Inside the ROI选项对应的效果:

image.png

图7 Image Mask设置ROI-Inside the ROI

当使用Mask后,Mask中的图像将不再参与后面的图像处理,因为其已经被设置为0。另外一个单选项Extract Masked Region提取掩模区域,作用为将掩模区域单独提取出来(注意,只能提取ROI里的内容)。如图6所示的效果,勾选提取掩模区域后,点击OK按钮,其效果如下图:

image.png

图8 Extract Mask Region提取掩模区域-掩模你到在ROI外

而图7所示的图像提取掩模区域后,效果则如下图所示:

image.png

图9 提取掩模区域-掩模像素在ROI里

从图8、图9对比看到,如果需要提取掩模区域,则只能设置掩模像素在ROI外,使ROI中的图像特征得以保留。这样才可以用于后面的其它图像处理,而如果是掩模像素在ROI里,则图像只有黑色的一片,没有实际分析的意义。

image.png

图10不提取掩模区域-掩模像素在ROI外

从图10中看到,如果不提取掩模区域,则在ROI区域里变成黑色区域,不再包含图像信息,不参与特征计算。

使用此方法,可以将比较大的图像剪切为较小的图像用于后面的图像处理,或者是过滤掉不需要的图像特征,只保留必要的图像特征用于后面的图像处理。这在后面的滤波、形态学等方法中,对图像的影响是比较大的。因为许多函数都是对整个图像进行综合考虑处理的。

下面再来简单的看一下第二类创建MASK的方法,即从图像文件中创建Mask。

image.png

图11 创建Mask从图像文件中

当选择二类Mask创建方法时,Browse浏览按钮使能可用,这时可以选择需要的图像文件用于掩模。我们打开NI Vision Assistant目录下的Example文件夹下的Jumper文件夹,选择第一幅图像为Mask。

image.png

图12 选择图像文件为Mask

image.png

图13 图像文件Mask后原始图像的处理效果

从图13看到,当使用图像文件为Mask时,默认是以图像的原点进行对齐的(NI的视觉软件定义的图像原点在左上角。水平向右为X轴正方向,垂直向下为Y轴正方向)。这时,我们如果把鼠标旋转在ROI上,发现ROI其实还是可以移动的,但是ROI的移动并不能改变Mask的位置:

image.png

图14 使用图像文件Mask时移动ROI位置不能改变Mask

image.png

图15 使用图像文件Mask时在图像文件里不变黑

从图13、15可以看到,使用图像文件创建Mask时也有Mask Pixels that are选项,一个为Black in Image File在图像文件里变黑,另一个为Not Black in Image File在图像文件里不变黑。与前面的掩模像素在ROI里、ROI外功能是一样的,只是区分一个外,一个里面的选项。

image.png

图16 从图像文件创建Mask-图像文件里变黑-不提取掩模区域

image.png

图17 从图像文件创建Mask-图像文件里不变黑-不提取掩模区域

image.png

图18 从图像文件创建Mask-图像文件里变黑-提取掩模区域

image.png

图19 从图像文件创建Mask-图像文件里不变黑-提取掩模区域

从图16~19中看到,当使用图像文件里不变黑时,理认上图像区域中应该是被屏幕掉的,成全黑的才正常,但是无论是提取掩模区域还是不提取掩模区域,都看到其中还有部分图像未被屏幕掉。难道是Bug?

从文件中创建Mask其实就是为了得到一个图像的边框,然后将其设置为一个ROI区域,因此其本质意义上还是设置ROI区域一样。因此一般来讲,实际应用中都是使用ROI创建Mask。

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

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

首页
84162741QQ
联系