石鑫华视觉论坛

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

[原创] NI视觉助手中卡尺函数直线拟合时角度结果不正确的问题

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

    连续签到: 4 天

    [LV.Master]2000FPS

     楼主| 发表于 2024-1-10 16:35:14 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

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

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

    x
    NI视觉助手中卡尺函数直线拟合时角度结果不正确的问题
    直线拟合几何特征的作用就是将一条直线拟合到一组两个或多个点上。这个几何特征功能,在寻找直边函数中应该是有使用的。寻找直边函数中先是使用耙子函数得到一系列的边缘点,然后利用这些边缘点使用拟合直线函数拟合出直线。所以,在选择点时,尽量选择一条直边上的点。拟合功能和选择点的顺序是没有关系的。
    image1.png
    使用边缘检测器检测直边上的边缘点
    image2.png
    使用边缘检测器得到的边缘点拟合直线:偏差非常小
             这里的角度结果可能是有点问题的。水平时的角度是90270度左右,而垂直的直边的角度则是0360度左右,难道搞反了?这个在VBAI中是正常的:
    image3.png
    VBAI中的几何-直线拟合函数表现正常
             VBAI中拟合直线的结果有角度、偏差、直线的起点和终点。角度也比较正常,拟合的水平直线的角度约有180度左右。
    image4.png
    视觉助手2023Q1中的拟合直线结果仍然不正常
             打开前面导出的卡尺函数查看内部的拟合直线功能的实现程序框图:
    image5.png
    卡尺算法的拟合直线实现程序框图
    image6.png
    卡尺算法的水平角度实现程序框图
    image7.png
    卡尺算法的垂直角度实现程序框图
             可以看到,卡尺算法中的水平角度的实现,其实是通过起点X方向+100来辅助构建了一条水平线。但是在拟合直线中,则是在Y方向+100来辅助构建了一条垂直线,和卡尺算法中的垂直角度实现类似。所以,在视觉助手中的拟合直线的角度,实际反映的是垂直方向的角度,这种表示方法在视觉助手中是有问题的。
    回复

    使用道具 举报

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

    本版积分规则

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

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

    GMT+8, 2024-11-20 21:16

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

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