【Halcon视频教程】Blob分析的基本概念和实现流程
转载:https://zhuanlan.zhihu.com/p/75473787
【Halcon视频教程】Blob分析的基本概念和实现流程
Blob分析(Blob Analysis)是对图像中相同像素的连通域进行分析,该连通域称为Blob。经二值化(Binary Thresholding)处理后的图像中色斑可认为是blob。Blob分析工具可以从背景中分离出目标,并可以计算出目标的数量、位置、形状、方向和大小,还可以提供相关斑点间的拓扑结构。在处理过程中不是对单个像素逐一分析,而是对图像的行进行操作。图像的每一行都用游程长度编码(RLE)来表示相邻的目标范围。这种算法与基于像素的算法相比,大大提高了处理的速度。
基本概念
Blob(Binary large object)是指从图像中获取的二值区域,一般来说,该二指区域是图像中的前景。在Halcon中,Blob是一个提取所得的region。Blob分析是指对该二值区域,进行面积、周长重心等特征的分析。
如下图所示:左边是一副原始图片,右边彩线包围区域是是获取的Blob区域,每个区域中十字的位置是Blob分析所得的重心位置。
实现流程
Blob的实现流程大致可分为3个步骤:获取图像、提取Blob、Blob分析。
1.获取图像:获取图像是指通过相机设备得到原始图像提取Blob
2.提取Blob是根据需求提取要分析的目标二指区域Blob分析
3.对提取出来的二值区域进行特征分析
存在的难点
以上是Blob分析的大致步骤。虽然看上去很简单,但实际上存在两个方面的难点。
1. 步骤的完善
以上3步为大致步骤,是一种抽象下的理想状态,实际上,提取Blob之前和分析Blob之后也存在重要的步骤。比如,提取Blob之前一般要设计图像的去噪和增强处理;分析Blob之后需要将Blob进行选取,或者将Blob重心的像素值向物理坐标系坐标值的转化。
2. 实现方法需具体分析
每一个步骤中实现的方法需要根据具体图片具体分析,就拿阈值分割提取Blob而言,使用固定阈值还是动态阈值,这都是根据图片情况进行具体分析的。
Halcon是闭源的,市面上资料急缺,找不到系统资料,市面上能找到的都是一些没含金量的启蒙教程,为了解决这些问题,让大家更好的学习,作为一名工作8年的视觉工程师,我本想把我从事多年视觉高价搜集、购买的几万块halcon视觉资料分享出来给大家,是一个技术交流分享的平台,禁止传播分享,所以大家如果想一起交流可以私信我。
最后,鸡汤来一碗:要想浮起来,必须沉下去。学习和科研一定要认认真真,脚踏实地,做人做事都要如此!
这是我收集的全套教程,有需要的自己保存:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥