CogBlobTool工具
CogBlobTool是一款专用于图像斑点检测于分析的 工具,通过灰度值阈值分割和特征过滤,帮助在复杂背景中提取目标区域,并计算几何属性。
效果图
注意:在这里只有一张图像可以不使用模板匹配工具
CogBlobTool工具的功能
斑点检测于分割
-
灰度值设置:支持多种阈值模式,包括固定阈值(HardFixedThreshold)、相对阈值(HardRelativeThreshold)、动态阈值(HardDynamicThreshold)以及软阈值(SoftFixed/Relativeshold),适应不同光照条件下的图像分割需求。
-
极性选择:通过“白底黑点”(DarkBlobs)或“黑底白点”(LightBlobs)定义目标区域的灰度对比方向,如在检测深色零件上的白色缺陷时选择“黑底白点”。
连通性于区域过滤
-
连通性模式:包括“已标记”(Labeled)、"灰度"(GreyScale)等,用于定义像素之间的连接规则,确保正确识别独立斑点。
-
形态学处理:通过“修剪”(Prune)或“填充”(Fill)清理策略优化检测结果。去除噪声或填补孔洞。
-
面积过滤:设置最小面积(ConnectivityMinPixels)或范围过滤(FilterRangeLow/High),排除过小或过大的干扰区域。
特征分析与测量
-
几何属性计算:包括面积(Area)、质心坐标(CentnerMassX/Y)、周长、非环性(用于区分你圆形与其他形状)等。
-
多条件筛选:支持基于多个属性(如面积、标签)的联合过滤,例如仅保留面积在200-1000像素且形状接近圆形的斑点。
灵活的区域设置
-
可定义检测区域形状(如矩形、圆形、多边形),或直接适应整个图像进行全局分析。
CogBlobTool的应用场景
工业检测中的目标定位
-
孔洞检测:在金属零件图像中,通过“黑底白点”极性结合行对阈值,提取白色孔洞区域,并通过面积和非环性参数筛选出符合要求的孔。
-
缺陷识别:例如检测LCD屏幕的亮点或暗点缺陷,利用动态阈值适应生产线光照变化,并通过面积过来吧排除微小噪声。
物体计数与分类
-
颗粒物统计:在制药或食品行业中,统计颗粒数量。如通过固定阈值分割药品图像或奶片图像,计算质心坐标并输出数量。
复杂背景下的特征提取
-
电子元件定位:在PCB版图像中,通过连通性标记(ConnectivityLabel)分离粘连的焊点,并结合形状参数筛选合格焊点。
自动化系统中的数据反馈
- 结合CogToolBlock或CogToolGroup工具链,将斑点检测结果(如质心坐标)传递给下游的机械臂或定位系统,实现精准抓取或装配。
CogBlobTool工具的使用
方法 | 描绘 |
---|---|
InputImage | 是指被处理的原始图像数据 |
Results.GetBlobs().Count | 所有符合过滤条件的斑点的总数量 |
Results.GetBlobs().Item[0].CenterOfMassX | 斑点质心在图像坐标系中的X轴坐标(水平方向) |
Results.GetBlobs().Item[0].CenterOfMassY | 斑点质心在图像坐标系中的Y轴坐标(垂直方向) |
Results.GetBlobs().Item[0].Area | 获取检测到的第一个斑点(Blob)面积的属性 |
电子模式:实时展示调整参数后的图像
分段模式
映射:映射的核心部分,决定了哪些像素会被视为前景(斑点),哪些被视为背景。
硬阈值(固定):指定一个固定的灰度值作为阈值。所有高于此值的像素被视为前景(通常是白色),而低于此值的像素被视为背景(通常是黑色)。这种方法适用于目标与背景之间对比度明显的情况
硬阈值(相对):相对阈值基于图像的整体或局部特征来确定阈值,如平均亮度等。这种方式使得阈值可以根据图像内容自动调整,有助于适应不同的光照条件。
硬阈值(动态):动态阈值允许根据图像的不同部分自适应地调整阈值。这对于处理光照不均匀或者背景复杂的图像特别有用,因为它能够针对每个局部区域优化阈值。
软阈值(固定):软阈值提供了一种更加灵活的方式,对于接近设定阈值的像素不会立即分类为前景或背景,而是可能获得一个介于两者之间的状态。这种方法有助于减少噪声的影响并平滑边缘
软阈值(相对):类似于硬阈值(相对),但是应用于软阈值逻辑上,即阈值依据图像的一些特征按比例变化的同时,也考虑到了像素值接近阈值时的状态转换。
减影图像:减影图像是指从一张图像中减去另一张图像(通常是时间上的前后帧或是背景模型)。这主要用于运动检测、背景消除等领域。结果是一个显示差异的图像,其中静止的部分消失,仅留下发生变化的部分。
形态调整操作
形态工具 | 描述 |
---|---|
侵蚀水平面 | 主要影响图像中水平方向上的边缘 |
侵蚀垂直面 | 主要影响图像中垂直方向上的边缘 |
侵蚀正方形 | 对整个图像区域进行腐蚀操作,没有方向偏好 |
扩大水平面 | 增强图像中水平方向上的特征 |
扩大垂直面 | 增强图像中垂直方向上的特征 |
扩大正方形 | 对整个图像区域进行膨胀操作 |
关闭水平面 | 首先在水平方向上对图像进行膨胀以填充可能存在的孔洞,然后再进行腐蚀来恢复原始尺寸,但消除了水平方向上的小孔洞 |
关闭垂直面 | 类似地,在垂直方向上执行闭运算 |
关闭正方形 | 在整个图像上进行闭运算,不区分方向 |
打开水平面 | 先在水平方向上腐蚀图像以移除小的突起,然后膨胀回来以恢复尺寸,但去除了水平方向上的小突起 |
打开垂直面 | 在垂直方向上执行开运算 |
打开正方形 | 对整个图像进行开运算,不考虑方向 |
数学形态学
数学形态学_百度百科
步骤1 
像素图可以观察数据具体的变化
灰度图可以观察物体的特征
步骤2
步骤3
属性:
下图特征比较明显可以选择面积属性就能突出需要内容,如不知该如何选择属性,可以打开结果看出具体数据
步骤4
步骤5
根据实际需要选择对应结果
CogBlobTool总结
CogBlobTool通过灵活的阈值设置、形态学处理和特征筛选,适用于需要从复杂背景中提取并分析目标区域的场景。其核心优势在于适应性强、参数配置直观,且能与其他VisionPro工具(如CogPMAlignTool、CogCaliperTool)无缝集成,构建完整的视觉检测系统。
相关文章:

CogBlobTool工具
CogBlobTool是一款专用于图像斑点检测于分析的 工具,通过灰度值阈值分割和特征过滤,帮助在复杂背景中提取目标区域,并计算几何属性。 效果图 注意:在这里只有一张图像可以不使用模板匹配工具 CogBlobTool工具的功能 斑点检测于…...

C# WinForm程序中如何调试dll接口
公司的SF系统是自主开发的。不同的机种会有不同数据记录保存的需求,尤其是客户SQE更是各种奇思妙想......于是做了一个接口,实践之下效果还不错呢。 每每总是忘记怎么调试接口,特记录下备查。首先要将, 1 DLL项目与WinForms项目…...
自然语言处理:词频-逆文档频率
介绍 大家好,博主又来给大家分享知识了。本来博主计划完成稠密向量表示的内容分享后,就开启自然语言处理中文本表示的讲解。可在整理分享资料的时候,博主发现还有个知识点,必须得单独拎出来好好说道说道。 这就是TF-IDF…...

【银河麒麟高级服务器操作系统】服务器测试业务耗时问题分析及处理全流程分享
更多银河麒麟操作系统产品及技术讨论,欢迎加入银河麒麟操作系统官方论坛 https://forum.kylinos.cn 了解更多银河麒麟操作系统全新产品,请点击访问 麒麟软件产品专区:https://product.kylinos.cn 开发者专区:https://developer…...

基于大数据的民宿旅馆消费数据分析系统
【大数据】基于大数据的民宿旅馆消费数据分析系统(完整系统源码开发笔记详细部署教程)✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统可以揭示民宿市场的消费模式和价格分布情况,帮助理解消费者偏好、价格走势及…...
Spring-AI搭建企业专属知识库 一
环境介绍:Spring3.3.2 JDK 21 POM文件 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation&…...

极简本地体验deepseek大模型教程
一 题外随感:时代之问 就像狄更斯在双城记中所述,“这是最好的时代,这是最坏的时代”。每一代人都有其所处的时代,每一个时代都有其所谓好的一面和不那么好的一面。很多时候随口的一句大环境不好,就似乎给了自己一个最…...
RabbitMQ系列(五)基本概念之Queue
在 RabbitMQ 中,Queue(队列) 是存储消息的容器,也是消息传递的核心载体。以下是其核心特性与作用的全方位解析: 一、Queue 的定义与核心作用 消息存储容器 Queue 是 RabbitMQ 中实际存储消息的实体,生产者…...
【记录】成为创作者的第 730 天(两年)
收获 还是总在感叹走到今天收获的一切,都是自己曾经不敢想的。 无论是靠自己努力拿到的 Offer,还是在 CSDN 网站上结交的网友和前辈们,都是我莫大的荣幸和财富,感恩一切、感恩自己。 过去一年的收获真的数不胜数,抛…...

深度剖析数据分析职业成长阶梯
一、数据分析岗位剖析 目前,数据分析领域主要有以下几类岗位:业务数据分析师、商业数据分析师、数据运营、数据产品经理、数据工程师、数据科学家等,按照工作侧重点不同,本文将上述岗位分为偏业务和偏技术两大类,并对…...

【XSS】DVWA靶场XSS攻击
一、XSS攻击 1.1. XSS 攻击简介 XSS(Cross-Site Scripting,跨站脚本攻击)是一种常见的Web安全漏洞,它允许攻击者在受害者的浏览器中执行恶意脚本。攻击者通常通过在Web应用程序中注入恶意脚本代码(如JavaScript&…...

Fiddler在Windows下抓包Https
文章目录 1.Fiddler Classic 配置2.配置浏览器代理自动代理手动配置浏览器代理 3.抓取移动端 HTTPS 流量(可选)解决抓取 HTTPS 失败问题1.Fiddler证书过期了 默认情况下,Fiddler 无法直接解密 HTTPS 流量。需要开启 HTTPS 解密: 1…...
04 路由表的IP分组传输过程
目录 1、路由表的核心结构 2、IP分组传输过程和数据包转发过程 2.1、IP分组传输过程 2.2、数据包转发过程 2.3、IP分组传输过程和数据包转发的区别 3、数据包的变化 3.1、拓扑结构 3.2、传输过程详解(主机A → 主机B) 3.2.1、主机A发送数据 3.2…...
AI Agent 定义与核心要素详解
AI Agent(人工智能代理)是一种能够感知环境、自主决策并执行任务以达成目标的软件实体。它结合了感知、推理、学习和行动能力,能够在复杂环境中独立或协作工作。以下是其核心要素: 1. 感知 AI Agent 通过传感器或数据输入感知环…...

记忆化搜索与动态规划:原理、实现与比较
记忆化搜索和动态规划是解决优化问题的两种重要方法,尤其在处理具有重叠子问题和最优子结构性质的问题时非常有效。 目录 1. 记忆化搜索(Memoization) 定义: 实现步骤: 示例代码(斐波那契数列࿰…...

在 Mac mini M2 上本地部署 DeepSeek-R1:14B:使用 Ollama 和 Chatbox 的完整指南
随着人工智能技术的飞速发展,本地部署大型语言模型(LLM)已成为许多技术爱好者的热门选择。本地部署不仅能够保护隐私,还能提供更灵活的使用体验。本文将详细介绍如何在 Mac mini M2(24GB 内存)上部署 DeepS…...
计算机网络基础简答题资料(对口高考)
1、什么是计算机网络?计算机网络的功能有哪些? 答案:计算机网络,是指将分布在不同地理位置、具有独立功能的多台计算机及其外围设备,通过通信设备和通信线路连接起来,在网络操作系统、网络管理软件及网络通…...

mysql内置工具导入csv包,简单便捷高效
先创建一个你想要的数据库 create database uba; 分析导入文件的格式内容 提前在数据库里创建你需要的表格 不然就会收到”mysqlimport: Error: 1146“大礼包 (你的csv文件名和表格名字一摸一样,大小写也是) use uba; create table userBehavior (us…...
【汽车ECU电控数据管理篇】HEX文件格式解析篇章
一、HEX格式文件是啥 HEX 文件是 Intel 公司提出的一种按地址排列的数据信息格式,通常用于存储嵌入式系统的二进制代码。它以 ASCII 码的形式记录数据,每一行以冒号开头,包含数据长度、地址、记录类型、数据和校验码等信息。HEX 文件常用于程…...

SOLID Principle基础入门
(Robert C. Martin (Uncle Bob)) 什么是SOLID原则? SOLID原则是面向对象编程(OOP)中编写高质量代码的指导方针。实际上,即使不使用SOLID原则,仅通过类、继承、封装和多态性,也可以让程序正常运行。那么为…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?
在大数据处理领域,Hive 作为 Hadoop 生态中重要的数据仓库工具,其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式,很多开发者常常陷入选择困境。本文将从底…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...

Windows安装Miniconda
一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...