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

图像编程

LabVIEW VISION白底Mask图像处理方法

文章来源:石鑫华视觉网时间:2022-09-06 17:05:36 点击:341

LabVIEW VISION白底Mask图像处理方法

在LabVIEW VISINO中,我们经常会用到Mask功能,即将不需要的区域屏蔽掉。Mask的基本原理是,原始图像与Mask图像进行操作,Mask中为0值,则原始图像中变为0,而Mask中非0值,则原始图像保留原始图像中的值。在ROItoMask构造Mask图像时,默认的是填充值为255,背景值为0,这样就是Mask区域内的保留原值,而区域外为背景全黑。当然也可以反过来,填充值为0,背景值为255,这样就是Mask区域外的值保留,而区域内的值为背景全黑。

image.png

NI VISION自带例子默认值ROI内部保留

image.png

将填充默认值设置为0,背景设置为255时的效果

但是我们可以看到,无论是哪种方式,其背景总是为0全黑的。只是看背景的位置在哪里的问题。那么如果我们需要的是背景为白色255,而目标保留不变时,又该如何操作呢?这个在NI的现有函数中,是没有现成的函数的。但是,我们可以根据Mask的原理,来自己构造一个白底的mask功能。

在Mask原理中,是将Mask中为0值的原图全部值为0,而非0值保留原值。而我们的目标是将背景表现为255,而目标保留。也就是说,Mask中的背景应该是全部为255,而不管原始图像中为多少,都要变成255;而Mask中框中的范围内则保留原值。这里我们可以使用一个加法操作,将Mask背景设置为255,而填充区域设置为0。这样使用加法操作后,背景区域相当于所有值+255后全变成255(这里仅针对8位图),而对于范围区域则所有值+0后保持原值不变。从而达到了我们希望的白色背景的Mask效果。

image.png

白色背景的Mask图像处理效果

附件例子为LabVIEW2015SP1+VISION2018开发:

LabVIEW VISION白底Mask图像处理方法

http://labviewvision.com/thread-21691-1-1.html?fromuid=9

(出处: 机器视觉论坛)

首页
84162741QQ
联系