CogFindCircleTool工具

devtools/2025/3/5 0:05:11/

CogFindCircleTool是专门用于在工业图像中自动检测圆形或圆弧的特征,它通过分析图像中的边缘信息,拟合出最优的圆形集合参数(如圆心坐标、半径),常用于精密测量、定位或质量控制等场景。

效果图

CogFindCircleTool工具功能

圆形检测

识别图像中的完整圆或部分圆弧,输出圆心(X,Y)和半径Radius。

支持指定预期半径范围,缩小搜索区间一提高效率。

可处理遮挡、光照不均或边缘不连续的复杂情况。

边缘检测与拟合

基于边缘梯度(Canny边缘检测)提取候选边缘点。

使用最小而惩罚或RANSAC算法拟合最优圆模型,排除噪声干扰。

 噪声干扰

噪声是图像中非目标信息的随机干扰,主要表现为像素值的异常波动。根据来源和特性可分为:

噪声类型特征常见场景
高斯噪声服从正态分布的随机噪声,表现为均匀的"颗粒感"传感器电子噪声、高温环境
椒盐噪声随机出现的黑白点(高/低像素值)电路传输错误、电磁干扰
泊松噪声与信号强度相关的量子噪声(如光子计数波动)低光照条件下的图像采集
周期性噪声固定频率的条纹或网格干扰电源干扰、机械振动
结构化噪声具有特定模式的干扰(如摩尔纹、反光)高精度重复图案、金属表面
噪声对视觉系统的破坏性影响

特征模糊化

边缘检测时产生伪边缘或断裂(Canny算法受椒盐噪声干扰)

圆形拟合工具(CogFindCircleTool)误判圆心/半径

算法失效风险

模板匹配误匹率上升

OCR字符识别错误

深度学习模型置信度下降

测量误差

尺寸测量结果波动(±1~5像素误差常见)

定位精度降低(尤其影响亚像素级检测)

噪声抑制方法

硬件级抗干扰

方法描述
光学优化使用偏振镜消除金属反光
+1选择合适波长光源(如蓝光抑制金属表面散射
传感器控制低温冷却CMOS/CCD减少热噪声
+1选择高动态范围(HDR)相机
环境隔离电磁屏蔽(尤其对变频器、电机等干扰源
+1防振动支架减少运动模糊
检测算法鲁棒性增强

在Cognex VisionPro中的实践

调整CogFindCircleToolEdgeThreshold参数,忽略低对比度边缘

启用CogPMAlignToolSmoothing选项抑制高频噪声

使用CogCNLSearch的图案归一化功能抵抗光照变化

深度学习抗噪

训练时添加噪声增强(Noise Augmentation)

采用U-Net等具有跳跃连接的结构恢复细节

工业场景中的典型噪声案例与解决方案
场景噪声特征解决方案
金属零件检测强反光、镜面反射伪影同轴光源 + 偏振镜 + Cognex的PatMax抗眩光算法
印刷电路板(PCB)检测细小划痕误判为电路走线高分辨率线扫相机 + 小波变换去噪
食品包装检测透明薄膜产生的摩尔纹使用单色光源 + 光学低通滤波器
户外AGV导航阳光直射导致过曝HDR多帧合成 + Retinex光照补偿算法
噪声评估与调试

量化评估指标

  • PSNR(峰值信噪比):>30dB为可接受工业级

  • SSIM(结构相似性):>0.9表明噪声抑制良好

调试流程

  • Step1: 用灰度卡/标准靶标采集原始图像,分离系统噪声与环境噪声

  • Step2: 在频域分析(FFT)确定噪声主频率

  • Step3: 优先硬件优化,再选择针对性滤波算法

误区警示

避免过度平滑导致边缘丢失(可通过Canny边缘保留滤波解决)

频域滤波可能引入振铃效应(需优化窗函数选择)

CogFindCircleTool工具使用

InputImage:是指被处理的原始图像数据。

Results.GetCircle:从检测结果中提取拟合出的最佳圆形参数

Results.GetCircularArc:获取圆形弧段。

Results.GetCircle().CenterX:圆心坐标(像素单位,支持亚像素精度)

Results.GetCircle().CenterY:圆心坐标(像素单位,支持亚像素精度)

Results.GetCircle().Radius:圆半径(浮点型)。

步骤1

如果只有一张图像步骤1可以默认-->根据模型大小调整角度范围-半径参数-->按照顺序进行卡尺数量:增加搜索率使特征更方便找出,搜索长度:在定位区域其他图像会有变化,可以增加搜索长度,投影长度:增加搜索中的宽度,搜索方法根据特征改变,一般默认也可以-->

半径限制:可以提高检测的准确性和效率-->忽略的点数。

 步骤2

 步骤3

函数描述
对比度在查找的圆形边缘两侧的颜色差异程度,它使衡量边缘清晰度的一个指标
位置在搜索区域内找到的圆形中心相对与某个参考点(如搜索区域的中心)的位置
PositionNeg指定的方向上(通常使沿着搜索方向)寻找第一个满足条件(如达到一定的对比度水平)的边缘位置,而不论这个位置是否符合预先设定的理想位置标准

 步骤4

步骤5

 步骤6

下一期:CogCreateGraphicLabelTool工具


http://www.ppmy.cn/devtools/164598.html

相关文章

PHP面试题--后端部分

本文章持续更新内容 之前没来得及整理时间问题导致每次都得找和重新背 这次整理下也方便各位小伙伴一起更轻松的一起踏入编程之路 欢迎各位关注博主不定期更新各种高质量内容适合小白及其初级水平同学一起学习 一起成为大佬 数组函数有那些 ps:本题挑难的背因为…

doOnNext() vs flatMap():区别与适用场景

在 Reactor(Flux / Mono)中,doOnNext() 和 flatMap() 都可以用来处理流中的元素,但它们有不同的作用和适用场景。 1. doOnNext() ✅ 作用 用于执行副作用(side effects),但不会改变数据流。适…

解决Docker拉取镜像超时错误,docker: Error response from daemon:

当使用docker pull或docker run时遇到net/http: request canceled while waiting for connection的报错,说明Docker客户端在访问Docker Hub时出现网络连接问题。可以不用挂加速器也能解决,linux不好用clash。以下是经过验证的方法(感谢轩辕镜…

Word快速替换修改学术论文所有中的中括号引用未上标格式

问题 如图是平时使用Word写完论文时候交叉引用的引用序号,由中括号和引用序号构成,如果不想手动修改使其上标,那么可以使用正则表达式来进行快速匹配替换使其上标,从而减少时间浪费,且能够保持交叉引用的跳转功能&…

陕西省地标-DB61/T 1121-2018 政务服务中心建设和运营规范

揭秘陕西省智慧政务服务中心新标准:打造高效便捷的服务新体验 随着信息化时代的深入发展,智慧政务已成为提升政府服务效率、优化营商环境的重要举措。陕西省作为全国政务改革的先行者,近期颁布了《陕西省地标-DB61_T 1121-2018 政务服务中心…

<el-cascader时只取最后一级数据

在用cascader时只取最后一级数据传给后端 组件的属性emitPath: false就可以做到&#xff0c;取值就是最后一级传给后端。并且后端放回的id 也直接可以做回显 <el-cascaderv-model"Type":options"Options":props"{ value: id, label: label, chil…

Java——通配符以及上下限

在 Java 泛型中&#xff0c;通配符 ? 用于表示未知类型&#xff0c;通常用于增强泛型的灵活性。通配符可以与 上限 和 下限 结合使用&#xff0c;进一步限制类型的范围。以下是通配符及其上下限的详细介绍&#xff1a; 一、通配符 ? 的基本用法 通配符 ? 表示未知类型&…

I2C总线详细介绍

目录 I2C 总线介绍1. I2C 的原理(1) 双线通信(2) 主从结构(3) 多设备通信(4) 硬件连接 2. I2C 的特性(1) 双向通信(2) 多主设备(3) 速度支持(4) 硬件简单(5) 地址区分 3. I2C 的协议(1) 起始条件&#xff08;Start Condition&#xff09;(2) 地址传输(3) 数据传输(4) 应答信号&…