石鑫华视觉论坛

 找回密码
 注册会员
查看: 5310|回复: 0

[有偿] NI LabVIEW Vision Overlay Rotated Ellipse覆盖旋转椭圆

[复制链接]
  • TA的每日心情
    擦汗
    9 小时前
  • 签到天数: 3378 天

    连续签到: 5 天

    [LV.Master]2000FPS

    发表于 2018-11-20 17:34:33 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    NI LabVIEW Vision Overlay Rotated Ellipse覆盖旋转椭圆
    在使用NI VISION时,在几何函数中有一个拟合椭圆功能,就是利用一批点,可以拟合成一个椭圆:

    Fit Ellipse拟合椭圆函数

    Fit Ellipse拟合椭圆函数
    FitEllipse拟合椭圆函数
    该函数可以拟合出任一尺寸与角度的旋转椭圆来,另外像几何匹配输出的轮廓特征中,也有椭圆特征输出,但是有一个问题,我们如何将输出的椭圆显示到图像上呢?在Overlay面板中,有一个Overlay Oval覆盖椭圆函数,但是该函数仅能覆盖没有旋转角度的椭圆,即轴是水平或垂直时,才可以覆盖:

    Overlay Oval覆盖椭圆

    Overlay Oval覆盖椭圆
    OverlayOval覆盖椭圆
    从覆盖椭圆函数的参数-Bounding Rectangle外接矩形中看到,这个矩形只有左顶右底4个参数,并没有旋转角度,如果有旋转角度,那旋转椭圆也就很容易覆盖了。很可惜,没有。
    既然使用这个覆盖椭圆函数不行,那该如何覆盖椭圆呢?在视觉助手中,我们可以看到,视觉助手本身是可以覆盖旋转椭圆的:

    视觉助手覆盖椭圆

    视觉助手覆盖椭圆
    视觉助手覆盖椭圆
    但是视觉助手生成的VI,都是不带覆盖的,也就是查看不到NI覆盖旋转椭圆的方法。不过庆幸,在VBAI中也有类似的功能,而且导出VI后,可以看到NI使用的覆盖椭圆的函数:

    VBAI覆盖椭圆

    VBAI覆盖椭圆
    VBAI覆盖椭圆
    VBAI生成的VI函数中,深挖N层,可以看到其调用了一个名叫IVB-Geometry-Overlay Ellipsevi函数,如下图所示:

    IVB-Geometry-Overlay Ellipse覆盖椭圆前面板

    IVB-Geometry-Overlay Ellipse覆盖椭圆前面板
    IVB-Geometry-OverlayEllipse覆盖椭圆前面板
    也就是说,我们在LabVIEW中也可以直接调用这个函数,来实现旋转椭圆的覆盖。

    调用IVB-Geometry-Overlay Ellipse覆盖椭圆函数

    调用IVB-Geometry-Overlay Ellipse覆盖椭圆函数
    调用IVB-Geometry-Overlay Ellipse覆盖椭圆函数
    在这里,同时覆盖了长轴和短轴两个覆盖直线的功能,将一个旋转椭圆表现的比较明显(VBAI中也添加了长短轴的覆盖),下图为调用效果:

    调用IVB-Geometry-Overlay Ellipse覆盖椭圆函数演示效果

    调用IVB-Geometry-Overlay Ellipse覆盖椭圆函数演示效果
    调用IVB-Geometry-Overlay Ellipse覆盖椭圆函数演示效果
    附件下载:LabVIEW2015SP1或以上版本,视觉助手脚本需要2018版打开,VBAI脚本需要2018版打开:
    NI LabVIEW Vision Overlay Rotated Ellipse覆盖旋转椭圆.rar (502.22 KB, 下载次数: 29, 售价: 2 元)

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(第二版)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-11-15 17:19

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表