当前位置: 首页 > news >正文

Halcon学习--(6)Blob分析

1、简介

        Blob,即binary large object,二进制大型对象,是事务处理过程中遇到的一些大型的、复杂的数据项,必须作为一个完整的数据项看待。如一幅图形、一帧图像、一段语言等。在计算机视觉中的Blob是指图像中的具有相似颜色、纹理等特征所组成的一块连通区域。

        Blob分析(Blob Analysis)是对图像中相同像素的连通域进行分析(该连通域称为Blob)。其过程其实就是将图像进行二值化,分割得到前景和背景,然后进行连通区域检测,从而得到Blob块的过程。简单来说,blob分析就是在一块“光滑”区域内,将出现“灰度突变”的小区域寻找出来。

        Blob分析工具可以从背景中分离出目标,并可以计算出目标的数量、位置、形状、方向和大小,还可以提供相关斑点间的拓扑结构。在处理过程中不是对单个像素逐一分析,而是对图像的行进行操作。图像的每一行都用游程长度编码(RLE)来表示相邻的目标范围。这种算法与基于像素的算法相比,大大提高了处理的速度。

2、Blob分析流程

        Blob分析的基本步骤,这是一种理想状态,也是最基本的套路,获取图像->分割图像(区分前景像素和背景像素)->特征提取(比如面积、重心、旋转角度等)。

步骤

核心目标

常用 Halcon 算子举例

1. 图像获取与预处理

获取高质量图像,减少噪声、校正光照不均

read_image, gauss_filter, mean_image, emphasize

2. 图像分割

将前景目标与背景分离,创建二值区域

threshold, binary_threshold, dyn_threshold

3. 连通区域分析

将二值图像分割成独立的连通区域(Blob)

connection

4. 区域处理与筛选

优化区域形状,并根据特征(如面积、形状)筛选目标

select_shape, opening_circle, closing_circle

5. 特征提取

计算并输出所需特征(数量、位置、面积、形状参数等)

area_center, smallest_rectangle, orientation_region

3、常用算子

1. 图像获取与预处理

图像质量直接影响 Blob 分析的效果。

  • 获取图像​:使用 read_image读取图像。

  • 预处理​:常用滤波算子平滑噪声,如 gauss_filter(高斯滤波)、mean_image(均值滤波)。对于光照不均,可能需要进行光照校正或使用图像增强算子(如 emphasize)来提升对比度。

2. 图像分割

分割是将前景目标从背景中分离出来的关键一步。

  • 全局阈值分割 (threshold)​

    这是最直接的方法,适用于前景和背景灰度对比明显且光照均匀的场景。你需要根据图像直方图或经验设定一个固定的灰度范围 [MinGray, MaxGray]

    * 读取图像后,设定阈值范围,例如提取灰度值在128到255之间的像素
    read_image (Image, 'printer_chip/printer_chip_01')
    threshold (Image, Region, 128, 255)
    • 自动阈值分割 (binary_threshold)​

      当图像对比度稳定但手动设定阈值繁琐时,此算子可根据直方图自动选择阈值,常用 'max_separability'(最大类间方差法,即Otsu)等方法。

    • 局部(动态)阈值分割 (dyn_threshold)​

      在光照不均或背景复杂时特别有效。它需要一个参考图像(通常由原图平滑滤波得到,如使用 mean_image),然后逐像素比较原图与参考图的灰度差。

      * 读取图像后 
      read_image (Image, 'printer_chip/printer_chip_01')
      * 先对原图进行平滑处理,生成参考图像
      mean_image (Image, ImageMean, 31, 31)
      * 然后进行动态阈值分割,提取比局部背景亮出一定差值的像素
      dyn_threshold (Image, ImageMean, RegionDynThresh, 10, 'light')
3. 连通区域分析与区域处理

分割得到的区域可能包含多个粘连目标或噪声。

  • 连通区域分析 (connection)​

    此算子将二值图像中所有相互连接的前景像素集合找出来,并为每个独立的连通区域分配唯一标签,这是后续对单个Blob进行分析的基础。

  • 形态学处理

    用于优化区域形状。

    • 开运算 (opening_circle, opening_rectangle1)​​:先腐蚀后膨胀,可消除小噪声、断开细小的连接。

    • 闭运算 (closing_circle, closing_rectangle1)​​:先膨胀后腐蚀,可填充区域内部的小孔洞、连接邻近区域。

  • 区域筛选 (select_shape)​

    根据面积、宽度、高度、圆度等特征从大量区域中筛选出感兴趣的目标。

    * 读取图像后 
    read_image (Image, 'printer_chip/printer_chip_01')
    threshold (Image, Region, 100, 255)connection (Region, ConnectedRegions)* 筛选面积在100到1000像素之间的区域
    select_shape (ConnectedRegions, SelectedRegions, 'area', 'and', 30000, 50000)
    * 可以组合多个特征进行筛选
    select_shape (SelectedRegions, FinalRegions, ['area','roundness'], 'and', [100,0.85], [1000,1.0])
4. 特征提取

对筛选后的最终区域,提取所需信息。

* 计算每个区域的面积和中心坐标
area_center (SelectedRegions, Area, Row, Column)
* 计算区域的最小外接矩形
smallest_rectangle1 (SelectedRegions, Row1, Column1, Row2, Column2)
* 计算区域的方向(主轴角度)
orientation_region (SelectedRegions, Orientation)

4、典型应用场景与实例

  1. 缺陷检测(如玻璃划痕、织物瑕疵)​

    • 思路​:完好产品表面纹理均匀。缺陷通常表现为局部灰度突变。

    • 方法​:可能结合动态阈值或高精度阈值来捕捉微弱的瑕疵信号,再通过形态学处理和区域筛选确认。

  2. 零件计数与定位

    • 思路​:在图像中统计特定零件的数量并获取其位置。

    • 方法​:通过阈值分割零件,利用 connection分离粘连零件,再使用 select_shape根据面积和形状过滤,最后通过 area_center获取位置。

  3. 字符识别(OCR)预处理

    • 思路​:在正式识别前,先将图像中的每个字符分割出来。

    • 方法​:Blob分析可用于定位和分离字符区域。

  4. 注意事项
  • 光照是关键​:Blob分析的效果极大程度依赖于光照条件。尽可能在采集图像阶段保证光照均匀和稳定。

  • 预处理的重要性​:不要忽视预处理。适当的滤波可以显著改善分割效果。

  • 结构元素选择​:进行形态学操作时,结构元素(如圆形、矩形)的大小和形状会直接影响效果,需要根据目标特征谨慎选择。

  • 特征选择​:select_shape支持的特征非常多,选择与你的目标最相关的特征进行筛选,可以提高准确性和效率。

  • 局限性​:Blob分析主要适用于目标与背景对比度较高的图像。对于低对比度图像、需要匹配复杂模板或纹理分析的任务,可能需要结合其他方法如基于形状的匹配或深度学习。

        Halcon 的 Blob 分析是一个系统性的过程,核心在于通过图像分割、连通区域分析、形态学处理和特征筛选,从图像中提取出有用的二维形状信息。掌握其流程和关键算子,并能根据具体应用场景灵活调整策略,是成功应用它的关键。

http://www.dtcms.com/a/537549.html

相关文章:

  • 快速上手大模型:深度学习2(实践:深度学习基础、线性回归)
  • 网站建设多少钱十年乐云seowordpress倒入数据库
  • 如何搭建内网网站wordpress响应式主题下载
  • 队列的实现
  • undo表空间满会导致业务出问题吗
  • 电子商城网站建设流程贵州建设学校网站
  • h5游戏免费下载:地球日
  • 合肥万户网站建设wordpress主题怎么编辑
  • Redix数据库基础
  • 达内网站开发成功的软文营销案例
  • 哪里有配音的网站青岛专业做网站的公司有哪些
  • 机器视觉的手机模组背光贴合应用
  • LeetCode 每日一题 2025/10/20-2025/10/26
  • 怎么做招聘网站设计2023年做网站怎么样
  • 大气微电影类网站织梦模板完整版广州有什么好玩的地方景点推荐
  • 网站网站是怎么做的百度网盘网页版官网
  • 国外最新创意产品网站岳阳招聘网最新招聘
  • 东莞做网站需要避免这些因素WordPress如何导入本地插件
  • 网站设计与建设报告如何给给公司建立网站
  • 中航建设集团有限公司网站国际新闻界期刊
  • 合合信息与上海交通大学开展课题合作研究,共探智能文档图像处理前沿技术
  • 罗湖商城网站设计价格网站系统分析
  • 沈阳网站建设蓝顶网络wordpress怎么让手机端好看
  • Java---StringBuilder
  • 大航母网站建设怎么样防制网站怎么做
  • app分发平台哪个好点?手机app应用内测分发平台支持负载均衡的重要性
  • 华为ACT三步走”实施路径,以推动行业智能化落地
  • 深度解析Weights Biases:让AI实验管理变得如此简单
  • 国内模板建站公司爱网恋的男生
  • 网站优化预算表白网页生成器下载