注册登陆后可查看附件和大图,以及购买相关内容
您需要 登录 才可以下载或查看,没有账号?注册会员
x
NI LabVIEW Vision Overlay Rotated Ellipse覆盖旋转椭圆 在使用NI VISION时,在几何函数中有一个拟合椭圆功能,就是利用一批点,可以拟合成一个椭圆:
Fit Ellipse拟合椭圆函数
FitEllipse拟合椭圆函数 该函数可以拟合出任一尺寸与角度的旋转椭圆来,另外像几何匹配输出的轮廓特征中,也有椭圆特征输出,但是有一个问题,我们如何将输出的椭圆显示到图像上呢?在Overlay面板中,有一个Overlay Oval覆盖椭圆函数,但是该函数仅能覆盖没有旋转角度的椭圆,即轴是水平或垂直时,才可以覆盖:
Overlay Oval覆盖椭圆
OverlayOval覆盖椭圆 从覆盖椭圆函数的参数-Bounding Rectangle外接矩形中看到,这个矩形只有左顶右底4个参数,并没有旋转角度,如果有旋转角度,那旋转椭圆也就很容易覆盖了。很可惜,没有。 既然使用这个覆盖椭圆函数不行,那该如何覆盖椭圆呢?在视觉助手中,我们可以看到,视觉助手本身是可以覆盖旋转椭圆的:
视觉助手覆盖椭圆
视觉助手覆盖椭圆 但是视觉助手生成的VI,都是不带覆盖的,也就是查看不到NI覆盖旋转椭圆的方法。不过庆幸,在VBAI中也有类似的功能,而且导出VI后,可以看到NI使用的覆盖椭圆的函数:
VBAI覆盖椭圆
VBAI覆盖椭圆 在VBAI生成的VI函数中,深挖N层,可以看到其调用了一个名叫IVB-Geometry-Overlay Ellipse的vi函数,如下图所示:
IVB-Geometry-Overlay Ellipse覆盖椭圆前面板
IVB-Geometry-OverlayEllipse覆盖椭圆前面板 也就是说,我们在LabVIEW中也可以直接调用这个函数,来实现旋转椭圆的覆盖。
调用IVB-Geometry-Overlay Ellipse覆盖椭圆函数
调用IVB-Geometry-Overlay Ellipse覆盖椭圆函数 在这里,同时覆盖了长轴和短轴两个覆盖直线的功能,将一个旋转椭圆表现的比较明显(VBAI中也添加了长短轴的覆盖),下图为调用效果:
调用IVB-Geometry-Overlay Ellipse覆盖椭圆函数演示效果
调用IVB-Geometry-Overlay Ellipse覆盖椭圆函数演示效果 附件下载:LabVIEW2015SP1或以上版本,视觉助手脚本需要2018版打开,VBAI脚本需要2018版打开:
|