opencv形态学滤波:开运算、闭运算、形态学梯度、顶帽、黑帽-morphologyEx函数

形态学的高级形态,往往都是建立在腐蚀和膨胀的过程这两个基本操作之上的。而关于腐蚀和膨胀操作得出来的效果出是怎么样的,请参考这篇文章:
opencv形态学滤波:腐蚀与膨胀

开运算:先腐蚀后膨胀的过程

开运算可以用来消除小物体,在纤细点处分离物体,并且在平滑较大物体的边界的同时不明显改变其面积
在这里插入图片描述

闭运算:先膨胀后腐蚀的过程

闭运算能够排除小型黑洞(黑色区域)
在这里插入图片描述

形态学梯度:膨胀图与腐蚀图之差

对二值图进行这一操作可以将团块的边缘突出出来,可以用形态学梯度来保留物体边缘轮廓
在这里插入图片描述

顶帽:原图像与上文刚刚介绍的“开运算”的结果图之差

顶帽运算往往用来分离比邻近点亮一些的斑块

因为开运算带来的结果是放大了裂缝或者局部低亮度区域。因此,从原图中减去开运算后的图,得到的效果图突出了比原图轮廓周围的区域更明亮的区域,且这一操作与选择的核的大小相关。

在一幅图像具有大幅的背景,而微小物品比较有规律的情况下,可以使用钉帽进行背景提取
在这里插入图片描述

黑帽:闭运算的结果图与原图像之差

黑帽运算用来分离比邻近点暗一些的斑块

黑帽运算后的效果图突出了比原图轮廓周围区域更暗的区域,且这一操作与选择的核的大小有关。
在这里插入图片描述

代码如下:

#include<opencv2/core.hpp>
#include<opencv2/highgui.hpp>
#include<opencv2/imgproc.hpp>
#include<iostream>
using namespace cv;
using namespace std;
int main()
{
    Mat src=imread("1.png");
    Mat dst;
    imshow("原图",src);

    Mat element=getStructuringElement(MORPH_RECT,Size(15,15));
    morphologyEx(src,dst,MORPH_BLACKHAT,element);

    imshow("效果图",dst);
    waitKey(0);

    return 0;
}

想要实现不同的运算,只需更改morphologyEx(src,dst,MORPH_BLACKHAT,element)中的MORPH_BLACKHAT参数,该参数的列举如下:

标识符功能
MORPH_OPEN开运算
MORPH_CLOSE闭运算
MORPH_GRADIENT形态学梯度
MORPH_TOPHAT“顶帽”
MORPH_BLACKHAT“黑帽”

对于getStructuringElement函数的解析,请查看此文章:
opencv形态学滤波:腐蚀与膨胀

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenCV-Python中,开运算形态学处理的两个基本操作之一。开运算通过先进行腐蚀操作,然后再进行膨胀操作来实现。它的作用包括填充物体空洞、消除噪声、连接邻近物体、平滑边界等。\[2\] 在代码中,使用cv2.morphologyEx函数来进行开运算。参数cv2.MORPH_OPEN表示进行开运算。通过定义一个核(kernel)来指定腐蚀和膨胀的形状和大小。在给定的示例代码中,使用了一个10x10的全1矩阵作为核。\[1\] 具体实现时,先读取原始图像,然后使用cv2.morphologyEx函数进行开运算操作,得到处理后的图像。最后可以通过cv2.imshow函数显示原始图像和处理后的图像,并通过cv2.imwrite函数保存处理后的图像。\[1\] 总结来说,开运算是一种常用的形态学处理方法,可以用于填充物体空洞、消除噪声、连接邻近物体、平滑边界等。在OpenCV-Python中,可以使用cv2.morphologyEx函数来实现开运算操作。\[2\] #### 引用[.reference_title] - *1* *2* *3* [【OpenCV-Python】:形态学操作开运算运算](https://blog.csdn.net/qq_42856191/article/details/123670455)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值