• Opencv之形态学操作(膨胀、腐蚀、开运算、闭运算、顶帽、黑帽、形态学梯度)


    形态学操作一般作用于二值化图,来连接相邻的元素或分离成独立的元素。腐蚀和膨胀是针对图片中的白色部分进行操作的!
    在这里插入图片描述

    膨胀

    膨胀就是求局部最大值的操作。
    解释:这里面的局部指的是核的大小,例如核大小是3*3的,则二值化的图像在核的范围内取最大值。

    • B 通常称为内核,内核 B 有一个可定义的 锚点, 通常定义为内核中心点。
    • A 假设为 10x10 像素的二值图中1区域。

    进行膨胀操作时,将内核 B 划过图像,将内核 B 覆盖区域的最大相素值提取,并代替锚点位置的相素。显然,这一最大化操作将会导致图像中的亮区开始”扩展” (因此有了术语膨胀 dilation )。

    膨胀作用:将与物体接触的所有背景点合并到物体中,使目标 增大,可 添补目标中的孔洞
    对下图采用膨胀操作我们得到图2:
    在这里插入图片描述
    在这里插入图片描述
    根据膨胀规则在核的范围内取最大值,则B遍历完后,就变成如下图所示(不考虑padding):
    在这里插入图片描述
    图 2 膨胀后效果

    腐蚀

    腐蚀就是求局部最小值的操作。(腐蚀和膨胀的操作是相反的。)

    进行腐蚀操作时,将内核 B 划过图像,将内核 B 覆盖区域的最小相素值提取,并代替锚点位置的相素。
    在这里插入图片描述
    腐蚀作用: 消除物体边界点,使目标缩小,可以消除小于结构元素的噪声点

    开运算

    开运算:先执行腐蚀操作后,再进行膨胀操作。
    作用:主要用于消除小物体,在纤细点处分离物体,并且在平滑较大物体的边界的同时不明显改变其面积,同时抑制比结构元小的亮细节。
    在这里插入图片描述

    闭运算

    闭运算:表示先执行膨胀操作后,再进行腐蚀操作
    作用: 用来消除白色前景中的小黑点。
    在这里插入图片描述

    顶帽

    顶帽:原图像与开运算之差;突出明亮区域,可以用来提取一些小毛刺之类的图像;
    在这里插入图片描述

    黑帽

    黑帽:闭运算与原图像之差;
    得到白色前景中的小黑点图像;

    形态学梯度

    形态学梯度:膨胀后的图像 - 腐蚀后的图像;
    在这里插入图片描述

  • 相关阅读:
    什么是模板字符串(template literals)?与传统字符串拼接相比,有哪些优势?
    【哈希槽算法】概念、对比、优点、举例理解_Redis07
    入职字节外包一个月,我离职了
    ArcObjects SDK开发 012 PageLayout和Page
    猿创征文|收到谷歌开发者大会正式邀请(Java学生的自学之路)
    Spring Boot 6.1 ( Wobsoeckt的简单匹配)
    Gamframwork 检查更新、开始更新 热更的流程
    Scala系列从入门到精通(三)
    Python带你入门安全测试
    NPOI导出千分位带.00格式显示
  • 原文地址:https://blog.csdn.net/xp_fangfei/article/details/124104737