石鑫华视觉网| 东莞华视自动化科技有限公司|机器视觉商城|机器视觉论坛|淘宝店铺

机器视觉_石鑫华视觉网_光源_控制器_工业相机_镜头_视觉方案_NI_LabVIEW_Vision_VBAI_图像处理教程_论坛_商城_东莞华视自动化科技有限公司

当前位置: 首页 > 图像 >

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

时间:2019-09-12 12:09来源:石鑫华视觉网shixinhua.com 作者:石鑫华 点击: 99999次
LabVIEW 实现 VBAI 中ROI二值化预览功能 我们知道,在NI LabVIEW VISION环境中,二值化时默认的函数IMAQ Threshold和IMAQ Color Threshold都是只能对全图进行二值化的。即使加上Mask等功能后,可以处理ROI中的内容,也是对二值化后的 图像 再进行处理,ROI外的背景已经
LabVIEW实现VBAI中ROI二值化预览功能

我们知道,在NI LabVIEW VISION环境中,二值化时默认的函数IMAQ Threshold和IMAQ Color Threshold都是只能对全图进行二值化的。即使加上Mask等功能后,可以处理ROI中的内容,也是对二值化后的图像再进行处理,ROI外的背景已经被去掉了。但是在VBAI中的粒子分析中,可以看到,其在二值化时,是可以对ROI中区域进行预览的:
彩色图像的检测目标-粒子分析功能ROI区域二值化预览
灰度图像的检测目标-粒子分析功能ROI区域二值化预览
这个功能,只在VBAI中有实现,即使视觉助手中也是没有的实现的。在VBAI的函数库中,可以看到有一个阈值颜色预览的函数:
IVBThreshold Color Preview.vi
如果可以,我们直接调用这个函数也是可以的。但是可惜,这个函数没有开放,打不开函数调用不了。那就只能自已想办法了。
在视觉论坛中,早些年创作有一篇文章:
LabVIEW中如何实现VBAI中的粒子分析二值化时灰度图像上覆盖蓝色目标_视觉开发包VDM_图像处理|编程|机器视觉_视觉论坛VISIONBBS_视觉之家VISIONHOME_机器视觉光源_光源控制器_工业相机_工业镜头_机器视觉方案系统_图像处理教程_石鑫华视觉网_东莞市华动智能科技有限公司
这个文章,可以大概的实现上面的要求。但是其有些问题,一个是当阈值下限为0时,ROI区域不起作用,阈值下限为0时,则变成整个图像二值化。只有当阈值范围从1-255范围内时,才可以对ROI中的值做预览功能。另一个问题是,只对灰度图像做了二值化预览功能的实现,没有对彩色图像进行处理。还有一个问题,就是不能对ROI外做处理。
此次,再次进行思考,终于把上面的几个问题也解决了,完整的实现了VBAI中的ROI二值化预览功能,下面来看一下效果:
灰度图像ROI内阈值0-128
灰度图像ROI外阈值50-255
非矩形ROI实现
彩色图像-无ROI全图实现
彩色图像ROI内阈值包含0
彩色图像ROI外阈值包含255
彩色图像徒手画ROI内二值化
彩色图像示例调用代码
灰度图像示例调用代码
本功能实现时,为了效率,将需要持图像缓存放置在了外面。如果不需要效率(如果是预览,可以牺牲效率,一般只会在设置时使用),可以将必要的图像缓存放置到功能函数内部,调用结束后释放即可。
示例代码版本LabVIEW2019+VISION2019。附件代码为收费内容,请在视觉论坛内付费充值购买:下载地址:
LabVIEW实现VBAI中ROI二值化预览功能_视觉开发包VDM_图像处理|编程|机器视觉_视觉论坛VISIONBBS_视觉之家VISIONHOME_机器视觉光源_光源控制器_工业相机_工业镜头_机器视觉方案系统_图像处理教程_石鑫华视觉网_东莞市华动智能科技有限公司

(责任编辑:石鑫华)
------分隔线----------------------------
石鑫华推荐