首页 > 其他分享 >04.VisionMaster 机器视觉找圆工具

04.VisionMaster 机器视觉找圆工具

时间:2024-06-15 15:57:42浏览次数:27  
标签:ROI 04 边缘 该值 查找 VisionMaster 拟合 找圆

VisionMaster 机器视觉找圆工具

定义

先检测出多个边缘点然后拟合成圆形,可用于圆的定位与测量

注意:找圆工具 最好和【位置修正】模块一起使用。具体可以看下面的示例。

参数说明:

扇环半径:圆环ROI的内外圆半径

边缘类型:最强-》只检测扫描范围内梯度最大的边缘点集合并拟合成圆

                 最后一条-》只检测扫描范围内与圆心距离最大的边缘点集合并拟合成圆

                 第一条-》只检测扫描范围内与圆心距离最小的边缘点集合并拟合成圆

边缘极性:黑到白-》从灰度值低的区域过渡到灰度值高的区域的边缘

                 白到黑-》从灰度值高的区域过演到灰度值低的区域的边缘

                 任意-》上述两种边缘均被检测

边缘阈值:边缘阈值即梯度阈值,范围0~255,只有边缘梯度闻值大于该值的边缘点才被检测到。

                数值越大,抗噪能力越强,得到的边缘数量越少,甚至导致目标边缘点被筛除

滤波尺寸:用于增强边绿和抑制噪声,最小值为1,当边缘横或有噪声干扰对,增大该值有利于使

                  得检测结果更加稳走,但如果边缘与边缘之间距赢小于海波尺寸时反而会影的边缘位置

                的精度甚至委失边缘,该值须要根据实际情况设置。

实际使用中如果发有圆没有找到的情况,优生将滤波尺寸调整试试,如果自动时的值是小的,那就向大的方向调整,可以大胆点去偿试。如果发现找到目标圆了,可以调整回来点再试试,值要合适才好,不能太大也不能太小。下面我有这示例。

卡尺数量:用于扫描边缘点的ROI区域数量

剔除点数:误差过大而被排除不参与拟合的最小点数量。一般情况下,离群点越多,该值应设置越

                大,为获取更佳查找效果,建议与剔除距离结合使用

初定位:若开启初定位,结合圆定位敏感度,下采样系数设置,圆初定位可以大致判定ROI区域

                内更接近圆的区域中心作为初始圆中心,便于后续精细圆查找;若关闭初定位,则默认

                ROI中心为初始圆中心,一般情况下,圆查找前一模块为位置修正,建议关闭初定位

下采样系数:下采样也叫降采样,即是采样点数藏少。对于一副NM的图像来说,如果海采样系数

                        为K,则即是在原图中每行每列每隔K个点取一个点组成一幅型像,因此下关样系数

                        越大,轮职点越稀疏,轮摩越不精细,该值不宜设置过大

圆定位敏感度:排除干扰点,值越大,排除噪声干扰的能力越强,但也容易导致圆初定位失败

剔除距离:允许离群点到拟合圆的最大像素距离,值越小,排除点越多

投影宽度:在ROI中环形分布若千个边缘点查找RO1,该值描述扫描边缘点查找ROl的区城宽度。

                在一定范围内增大该值可以获取更加稳定的边缘点(一般默认)

初始拟合:局部-》局部最优也就是按照局部的特征点拟合圆,如果局部特征更加准确反映圆所在

                                位置,则采用局部最优,否则采用全局最优

                 全局-》以查找到的全局特征点进行圆拟合

拟合方式:拟会方式有最小二乘、huber和ukey三种,三种拟合方式只是权重的计算方式有些差

                异,随着商群点数量增多以及商群距商增大,可逐次使用最小二、huber、tukey。

示例:

双击 【圆查找】-》ROI区域-》在形状行中 选择最后一个工具,这是个画圆工具。在右边的图像中绘制你要查找的圆。大小可调整。右边那个小方块是调整卡尺的内圈的,上面那个小方块是调整卡尺外圈的,也是调整卡尺长度的。卡尺的长度在覆盖整个圆。如下图。画好后点【执行】按钮可以看到结果,会用绿圈显示出圆的轮廓。这样就说明找到圆了

运行参数

        如果ROI区域没有错还找不到圆那就要调整运行参数了。主要调整的参数有【边缘阈值】和【滤波尺寸】。优先调整 滤波尺寸 ,滤波尺寸主要用于在比较模糊的图像中查找。值越大越好找。

在第一张图中我用的【边缘阈值】为15,【滤波尺寸】为2,可以圆,在继续测试后面的图像是否也能找到圆。

打开【自动切换】再点上面的 【播放】按钮就会自动执行流程了。

发现一个用上面的参数无法找到圆的图像。我放大图像看了一个发现这个图像的圆轮廓有点模糊。

这时优先去调整【圆查找】中的运行参数的【滤波尺寸】,原值是2。说明小值不行,那就向大值方向调整。我直接调整大点,加10从原来的2改成12。再看看效果。

效果显示 方向是正确的。

参数调整完后还要检查一下这组参数是否可以应用于当前的所有图像。

 栏目推荐:

01.VisionMaster 机器视觉 本地图像导入及参数设置-CSDN博客

02.VisionMaster 机器视觉快速匹配模块-CSDN博客

03.VisionMaster 机器视觉 位置修正 工具-CSDN博客

04.VisionMaster 机器视觉找圆工具-CSDN博客

05.VisionMaster 机器视觉 结果 格式化输出-CSDN博客

标签:ROI,04,边缘,该值,查找,VisionMaster,拟合,找圆
From: https://blog.csdn.net/cjh16606260986/article/details/139695560

相关文章

  • 阿里云 Ubuntu 22.04.4 LTS 安装postfix+dovecot 搭建邮件服务器
    一安装1安装postfixsudoapt-getinstallpostfix#如果没有弹出配置界面,运行dpkg-reconfigurepostfix     #sudovim/etc/postfix/main.cfsmtpd_banner=$myhostnameESMTP$mail_name(Ubuntu)biff=noappend_dot_mydomain=noreadme_directory=......
  • Ubuntu安装Vins-Fusion(2) —— Ubuntu20.04安装vins
    目录前言1、准备1.1安装ROS1.2安装CeresSolver2、安装VINS-Fusion3、测试(EuRoCMAV数据集)3.1、下载数据集3.2Monocualrcamera+IMU3.3Stereocameras+IMU3.4Stereocameras参考前言VINS-Fusion是一种基于优化的多传感器状态估计器,可为自主应用(无人......
  • 每日一题——Python实现PAT乙级1104 天长地久(举一反三+思想解读+逐步优化)七千字好文
    一个认为一切根源都是“自己不够强”的INTJ个人主页:用哲学编程-CSDN博客专栏:每日一题——举一反三Python编程学习Python内置函数Python-3.12.0文档解读目录初次尝试点评时间复杂度分析空间复杂度分析综合分析我要更强时间复杂度分析空间复杂度分析综合分析哲学和......
  • Ubuntu 18.04 安装 ROS1
    Ubuntu08.04  安装ROS1sudoapt-getupdate忽略:1http://mirrors.ustc.edu.cn/ros/ubuntubionicInRelease错误:2http://mirrors.ustc.edu.cn/ros/ubuntubionicRelease 404 NotFound[IP:202.38.95.11080]命中:4http://security.ubuntu.com/ubuntubionic-sec......
  • 04《android studio开发实战(第三版)》第七到十章阅读笔记
    第七章:持久化存储本章介绍了SharedPreferences的使用方法,它是一种轻量级的存储方案,用于保存简单的键值对数据,如用户设置和配置。 学习了如何创建SharedPreferences对象,使用getSharedPreferences()方法读取和写入数据,以及如何使用apply()和commit()提交修改。了解了如何在Andro......
  • ubuntu22.04编译openwrt的lede-17.01一些错误的处理方式
    m4c-stack.c:55:26:error:missingbinaryoperatorbeforetoken“(“55|#elifHAVE_LIBSIGSEGV&&解决方法:wgethttps://raw.githubusercontent.com/keyfour/openwrt/2722d51c5cf6a296b8ecf7ae09e46690403a6c3d/tools/m4/patches/011-fix-sigstksz.patch-O......
  • C语言练习题04
    练习1:输入一个5个元素的一维数组,实现冒泡排序。#include<stdio.h>#include<string.h>#include<stdlib.h>intmain(intargc,constchar*argv[]){ inttemp; inta[5]={0}; for(inti=0;i<5;i++) { printf("请输入一个数:\n"); scanf("%d"......
  • 6.04
    //发帖功能Future<void>insertColumn(BuildContextcontext,Stringusername,Stringtext)async{Diodio=Dio();StringinsertUrl="http://192.168.211.14:9090/user/user_column";Map<String,dynamic>data={"user_n......
  • P10432 [JOISC 2024 Day1] 滑雪 2
    MyBlogsP10432[JOISC2024Day1]滑雪2感觉是挺好的观察性质题,vp的时候场切了。首先酒店一定是建在最低的某一个点。把高度离散化之后,把点扔到对应的位置。可以发现高度为\(i\)的层的所有点,如果能接上一层的连接器那一定会尽量接上(因为到了下一层它本身也可以贡献一个空......
  • Cantata 24.04 全新发布:以代码为中心的测试实现革命性升级!
     简介Cantata24.04于2024年4月发布,以开创性的功能彻底革新了软件测试。此版本的主要功能是以代码为中心(Code-Centred)的方法,可以更快、更高效地在C/C++的代码编辑器中创建单元和集成测试。Cantata24.04采用C++中的最新标准并全面支持C++20,增强了以代码为中心的测试编辑,有助于......