石鑫华视觉论坛

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

[原创] Find Straight Edge查找直边函数最佳边缘覆盖第一边缘的错误问题

[复制链接]
  • TA的每日心情

    6 小时前
  • 签到天数: 3384 天

    连续签到: 6 天

    [LV.Master]2000FPS

     楼主| 发表于 2023-12-20 08:54:22 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

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

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

    x
    FindStraight Edge查找直边函数最佳边缘覆盖第一边缘的错误问题
    image1.png
    右到左,所有边缘,第一边缘
    image2.png
    右到左,所有边缘,最佳边缘
             上面的两幅效果图,对比的是Look for寻找参数的差异。右到左,所有边缘。当寻找第一边缘时,查找到的直边是“石”字上的一条斜边。而寻找最佳边缘时,则查找到的是名片左边的直边。在这种第一边缘不是太好时,最佳边缘位置会有比较大的差异。反过来,如果左到右,第一边缘和最佳边缘是重合的,那么寻找哪种直边差异就不大了:
    image3.png
    左到右,第一边缘
    image4.png
    左到右,最佳边缘
             从上面右到左最佳边缘时的效果来看,搜索线上覆盖的边缘点,总是覆盖的是第一边缘。这里应该是有点小Bug。当选择最佳边缘时,理论上应该返回最佳边缘位置并覆盖这些最佳边缘点。这个问题在视觉助手2023Q1版本中仍然存在:
    image5.png
    视觉助手2023Q1中下到上,第一边缘
    image6.png
    视觉助手2023Q1中下到上,最佳边缘
             可以看到上面的最佳边缘时,覆盖的点都是第一边缘的点位置。而且这里可以明显的看到上边的对比度要高于下边的对比度,所以最佳边缘点是上面的一条直边。这个问题在LabVIEW函数中也是有这种问题的:
    image7.png
    最佳边缘时覆盖的是第一边缘
             这里的Bug应该是出在耙子函数的处理中。找边函数其实是两个函数的组合,先使用耙子函数查找边缘,再拟合直边函数来拟合直边。可以看一下耙子函数:
    image8.png
    Rake耙子函数
    image9.png
    耙子函数获取第一边缘
    image10.png
    耙子函数获取第一和最后边缘
    image11.png
    耙子函数获取所有边缘
    image12.png
    耙子函数获取最佳边缘
             从上面的耙子函数得到的各种边缘,明显是不一样的。最佳边缘的位置即有第一边缘的,也有最后边缘的。所以,对于视觉助手中的查找直边时最佳边缘时的覆盖查找到的边缘是有错误的。

    回复

    使用道具 举报

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

    本版积分规则

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

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

    GMT+8, 2024-11-22 14:21

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

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