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

图像编程

LabVIEW实现VBAI中ROI二值化预览功能

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

LabVIEW实现VBAI中ROI二值化预览功能 

我们知道,在NI LabVIEW VISION环境中,二值化时默认的函数IMAQ Threshold和IMAQ Color Threshold都是只能对全图进行二值化的。即使加上Mask等功能后,可以处理ROI中的内容,也是对二值化后的图像再进行处理,ROI外的背景已经被去掉了。但是在VBAI中的粒子分析中,可以看到,其在二值化时,是可以对ROI中区域进行预览的:

image.png

彩色图像的检测目标-粒子分析功能ROI区域二值化预览

image.png

灰度图像的检测目标-粒子分析功能ROI区域二值化预览

这个功能,只在VBAI中有实现,即使视觉助手中也是没有的实现的。在VBAI的函数库中,可以看到有一个阈值颜色预览的函数:

image.png

IVB Threshold Color Preview.vi

如果可以,我们直接调用这个函数也是可以的。但是可惜,这个函数没有开放,打不开函数调用不了。那就只能自已想办法了。

在视觉论坛中,早些年创作有一篇文章:

LabVIEW中如何实现VBAI中的粒子分析二值化时灰度图像上覆盖蓝色目标

http://labviewvision.com/thread-7854-1-1.html

这个文章,可以大概的实现上面的要求。但是其有些问题,一个是当阈值下限为0时,ROI区域不起作用,阈值下限为0时,则变成整个图像二值化。只有当阈值范围从1-255范围内时,才可以对ROI中的值做预览功能。另一个问题是,只对灰度图像做了二值化预览功能的实现,没有对彩色图像进行处理。还有一个问题,就是不能对ROI外做处理。

此次,再次进行思考,终于把上面的几个问题也解决了,完整的实现了VBAI中的ROI二值化预览功能,下面来看一下效果:

image.png

灰度图像ROI内阈值0-128

image.png

灰度图像ROI外阈值50-255

image.png

非矩形ROI实现

image.png

彩色图像-无ROI全图实现

image.png

彩色图像ROI内阈值包含0

image.png

彩色图像ROI外阈值包含255

image.png

彩色图像徒手画ROI内二值化

image.png

彩色图像示例调用代码

image.png

灰度图像示例调用代码

本功能实现时,为了效率,将需要持图像缓存放置在了外面。如果不需要效率(如果是预览,可以牺牲效率,一般只会在设置时使用),可以将必要的图像缓存放置到功能函数内部,调用结束后释放即可。

示例代码版本LabVIEW2019+VISION2019。 

LabVIEW实现VBAI中ROI二值化预览功能 将蓝色目标覆盖到原始图像上

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

(出处: 机器视觉论坛)

首页
84162741QQ
联系