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

图像编程

VBAI中视觉助手直方图和线剖面图的映射模式错误

文章来源:石鑫华视觉网时间:2024-06-17 10:18:53 点击:81

VBAI中视觉助手直方图和线剖面图的映射模式错误

VBAI中视觉助手直方图和线剖面图的映射模式错误视频号

VBAI中视觉助手直方图和线剖面图的映射模式错误B站

经常使用VBAI(NI Vision Builder for Automated Inspection)软件的工程师应该都知道,在VBAI中也有一个Vision Assistant视觉助手函数,这个视觉助手中又包含了很多个辅助类的函数,是一个非常实用的函数。作者在录制最新的《VBAI2023视频教程》的过程中,发现VBAI软件的视觉助手中的Histogram直方图函数以及Line Profile线剖面图函数中的Mapping Mode映射模式存在赋值选项和实际使用的选项不一致的问题。

初次使用直方图时映射模式默认的Linear线性模式

初次使用直方图时,映射模式是线性模式。这里可以改成对数模式:

初次使用直方图时映射模式改为Logarithmic 对数模式

初始使用直方图时,映射模式是没有问题的,切换线性模式、对数模式都是正常的。选择了相应的模式后,都能使用相应的映射模式进行显示直方图。因为VBAI中视觉助手中的直方图函数只是一个查看效果的函数,点击OK后不会进入脚本区,所以不会出现编辑函数的过程。只能点击函数再次进入直方图学函数。这里存在的问题主要是在点击OK后,再次进入直方图函数时。

如果选择了线性模式,点击OK确认后再次进入直方图函数,仍然是正常的,不会有问题:

选择线性模式后OK再次进入直方图函数仍然是正常显示线性直方图

但是当选择了对数模式的映射模式时,再点OK后,则显示不正常了:

先选择对数模式

对数模式后OK确认后再次进入直方图函数

这时OK确认后再次进入直方图函数后,则发现出现问题了。进入直方图函数后,映射模式赋值仍然是初始化时的线性模式。但是这时的直方图中实际显示的则是对数模式的效果。这时要想再显示为线性模式,就得手动切换映射模式,先将模式切换为对数模式,这时因为本身显示的就是对数模式,所以直方图是不会变的:

将映射模式改为对数模式

然后再次切换回线性模式,直方图才会显示线性模式:

再次切换为线性映射模式时直方图显示为线性模式

这里也就是在最后选择了对数映射模式并确认后,再次使用直方图函数时,直方图显示有问题。这个问题在线剖面函数中也是存在的,可能是直接复制了相应的vi,只是把内部的测量函数换成了线剖面函数。

线剖面图-线性模式

线剖面图-对数模式

线剖面图选择了对数模式OK确认后再次进入线剖面图映射模式错误

当映射模式选择了对数模式后,OK确认后,再次进入线剖面图函数时,这时映射模式仍然是使用初始化的线性模式,而线剖面图则实际使用了上次的对数模式来显示的。

这个问题在VBAI2020、VBAI2023中都存在,至于之前的版本,估计也是有问题的,应该属于是历史遗留问题,没有人提出,就一直存在着没有解决。至于底层函数,其实很好理解,Mapping Mode控件初始化时始终会用线性模式进行赋值。初始化时,会执行一次直方图或(线剖面图,则是在画线ROI后执行线剖面图函数),这时则仍然是使用上一次的Y轴映射模式属性。Mapping Mode控件值改变时,再响应相应的事件,并使用新值赋值给Y轴映射模式:

直方图映射模式-线性模式

直方图-对数模式

停止VI后再运行VI

映射模式赋值为了线性,但是直方图显示控件的Y标尺映射模式仍然还是上次的直方图模式。其实,这里要解决这个问题,只需要在初始化赋值映射线性模式时,也同时给直方图的Y标尺赋值映射模式即可:

Y标尺映射模式初始化时赋值

当然了,在VBAI中我们是改不了这个VI的,这个就得NI的工程师来处理了。但是,如果没有人提交错误,那么下一版中,仍然是会保留这个错误。不过这种小错误并不是致命的,改不改其实并不影响实际测量。


首页
84162741QQ
联系