• Halcon斑点分析BlobAnalysis解析


    斑点分析的算法非常简单:在图像中,相关对象的像素(也称为前景)通过其灰度值来识别。例如,图中示例显示了液体中的组织颗粒。这些粒子是明亮的,液体(背景)是暗的。通过选择明亮的像素(阈值),可以很容易检测到颗粒。在许多应用中,暗像素和亮像素的简单条件不再成立,但结果相同可以通过额外的预处理或像素选择/分组的替代方法来实现。

    在这种情况下,斑点分析的优点是HALCON提供了大量算子使其具有极大的灵活性。此外,这些方法通常具有很高的性能。斑点分析也可以与许多其他视觉任务相结合,例如作为预处理步骤,灵活地生成交互区域。

    基本概念

    斑点分析主要包括三个部分:

    1. 获取图像

    2. 分割图像

      采集图像后,接下来的任务是选择前景像素。这也称为分割。结果
      在HALCON中通常将此过程为Blob(二进制大对象),数据类型为区域(a region)。

    3. 提取目标特征

      在最后一步中,将计算出诸如面积(像素数),重心或方向之类的特征

    该基本概念的一个示例是以下程序,该程序属于上述示例。在此,从文件中获取图像。使用阈值(threshold)选择大于120的所有像素。然后,引入了一个不太明显的步骤:算子连接(connection)将所有亮像素的集合分离为所谓的连接组件。此步骤的效果是我们将划分出多个区域,而不是阈值(threshold)返回的单个区域。该程序的最后一步是一些功能的计算。在此,算子area_center确定了大小(像素数)和重心。请注意area_center返回了三个值(每个参数有一个值)。

    read_image (Image, 'particle')
    threshold (Image, BrightPixels, 120, 255)
    connection (BrightPixels, Particles)
    area_center (Particles, Area, Row, Column)
    

    扩展概念

    在许多情况下,斑点分析将比上述示例更高级。原因是混乱或不均匀的照明。此外,经常需要进行后处理,例如将元素特征转换为真实世界单位或结果可视化。

    使用RIO(Region Of Interest)

    可以通过使用感兴趣区域来加快斑点分析。搜索的斑点区域被限制越多。搜索将更快更强大。

    对齐RIO或图像

    在某些应用中,关注区域必须相对于另一个对象对齐。或者图像本身可以对齐,例如通过旋转或裁剪。

    校正图像

    与对齐类似,可能需要校正图像,例如消除镜头畸变或转换图像的参考点。

    预处理图像(过滤)

    下一个重要部分是图像的预处理。在这里,像mean_image或gauss_filter这样的运算符可用于消除噪音。一个快速但不太完美的替代方案是binomial_filter。运算符middle_image对于抑制小斑点或细线很有用。算子anisotropic_diffusion(各向异性扩散)对保留边缘的平滑很有用,最后使用fill_interlace消除由隔行交错相机(摄像机视频流图像)引起的缺陷

    提取分割参数

    代替使用固定的阈值,可以为每个图像动态提取它们。例如具有多个峰值的灰度值直方图,每个对象类别一个。在这里,您可以使用算子gray_histo_abs和histo_to_thresh。作为高级替代方案,可以将算子intensity与参考图像结合使用,仅适用于背景:在设置过程中,将确定背景区域的平均灰度值。如果平均灰度值已更改,则可以相应调整阈值。

    分割图像

    对于分割,可以使用各种方法。最简单的方法是threshold(阈值),指定一个属于前景对象的值范围。另一个非常常见的方法是dyn_threshold。在此,第二张图像将作为参考图像。通过这种方法,使用局部阈值而不是全局阈值。这些局部阈值存储在参考图像中。可以通过拍摄空背景图片将其设为静态作为参考图像,也可以使用平滑滤镜(例如mean_image)

    处理区域

    一旦斑点区域被分割。通常需要对其进行修改,例如,通过抑制小区域,给定方向或接近其他区域的区域。在这种情况下,形态算子open_circle和opening_rectangle通常可用于抑制噪声,closeing_circle和closing-rectanglel填补空白。可以使用select_shape,select_shape_std和select-proto-proto选择具有特定功能的斑点。

    特征提取

    最终处理时,将提取斑点的特征,所需功能的类型取决于应用程序。类型列表可以在参考手册的“Regions/Features"和"Image/Features"中找到。

    将结果转换为世界坐标

    诸如面积或重心之类的要素通常必须转换为世界坐标。这可以通过HALCON相机
    校准实现。

    可视化结果

    最后,你可能要显示图像的斑点(区域)和特征。

    灵感来源于Halcon官方文档

  • 相关阅读:
    十分钟抢票千余张,黄牛的抢票软件是何原理
    常见乱码解决
    如何给程序中的变量起个好名字
    jsp自定义标签
    request.getHeader("Referer")理解【转载】
    mybatis学习笔记1--HelloMybatis
    Spring学习笔记14---bean的使用
    Spring学习笔记13--Autowire(自动装配)
    Spring 学习笔记12--AOP讲解
    Spring学习笔记11--Spring 自动装配 Bean
  • 原文地址:https://www.cnblogs.com/MorganMa/p/13186213.html
Copyright © 2020-2023  润新知