• 【halcon】形态学操作总结


    腐蚀(erosion)和膨胀(dilation

    知道发音便于记忆:

    效果

    首先,膨胀和腐蚀并不是放大和缩小。而是“胖瘦粗细”的变化!

    膨胀就是变胖变粗。

    腐蚀就是变瘦变细。

    原理

    在做 膨胀和腐蚀 运算的时候,会有一个卷积核,这个核就是实现膨胀和腐蚀的关键。核越大效果越明显。

    关于腐蚀和膨胀的算子

    挑一个最简单的讲吧:

    erosion_circle

     第一个是输入参数:即原始图形。

     第二个输出参数:即腐蚀后的图形。

    第三个是输入控制参数,及卷积核的大小。

    开运算和闭运算

    1 开运算

     原理

      先腐蚀(erosion)后膨胀(dilation)

     就是我拿一个卷积核,往region中放,可以放心的region被保留,放不下的region被抛弃。

    原本大的区域可能会被分割成小的区域,小的区域会被干掉。

    opening_circle (Region, RegionOpening, 20)

    效果

     
    

    2 闭运算

     原理

    先膨胀(dilate)后腐蚀(dilation)。

    效果1

    这个fill_up也能做到。

     效果2

    效果三:

    填坑,其实和效果二得本质是一样的(这个fill_up做不到。)

     

    小结

    闭运算:主要用于闭掉一些区域中的孔洞,或者边缘不完整的地方。或者是闭合连接!

    1. closing_rectangle1 (RegionFillUp, RegionClosing, 80, 80)
    2. closing_circle(RegionFillUp, RegionClosing,80)

    对于 rectangle1来说,卷积核是个矩形的,所以有两个控制参数,长和宽。

    而对应circle来说,卷积核是圆形的,所以只有半径这一个控制参数。

     开运算可以于筛选掉一些较小的Region,或者对某个区域减肥

    opening_rectangle1(RegionFillUp, RegionOpening, 10, 10)

    其他

    形态学还有几种操作,目前感觉用的不多,以后有时间再补充吧。

    形态学梯度: 膨胀(dilate) 减去 腐蚀(erode)

    顶帽: 原图像 减去 开操作

    黑帽: 闭操作 减去 原图像

  • 相关阅读:
    Spring基础:注解实现AOP
    通过JDBC对Mysql数据库进行简单的增删改查
    .split(“,“, -1) 和 .split(“,“) 的区别
    《你不可不知的人性》经典语录
    【java期末复习题】第1章 Java 程序设计语言概述
    写一篇nginx配置指南
    vscode代码快捷输入
    vue3源码的下载与安装
    【三大锁】悲观锁——mysql悲观锁
    Linux安装MySQL8.0服务
  • 原文地址:https://blog.csdn.net/songhuangong123/article/details/127458236