https://www.pianshen.com/article/88571337012/

opencv中的开运算,闭运算,形态学梯度,顶帽和黑帽,Canny算子,Sobel算子,Laplace算子,Scharr滤波器 简易理解。

https://www.pianshen.com/article/29041305494/

 

 

开运算:先腐蚀,再膨胀

可以清除一些小东西(亮的),放大局部低亮度的区域

 

闭运算:先膨胀,再腐蚀

可以清除小黑点

 

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

提取物体边缘

 

顶帽:原图像 - 开运算图

突出原图像中比周围亮的区域

 

 

黑帽:闭运算图 - 原图像

突出原图像中比周围暗的区域

 

这些运算都能用一个函数进行处理

 

[cpp] view plain copy

  1. void morphologyEx(InputArray src, OutputArray dst, int op, InputArray kernel, ...)  

 

 

看前四个参数就行了,后面的就用默认值

第一个参数 输入

第二个参数 输出

第三个参数 操作类型

MORTH_OPEN                函数做开运算

MORTH_CLOSE              函数做闭运算

MORTH_GRADIENT       函数做形态学梯度运算

MORTH_TOPHAT            函数做顶帽运算

MORTH_BLACKHAT       函数做黑帽运算

MORTH_DILATE              函数做膨胀运算

MORTH_ERODE             函数做腐蚀运算

 

第四个参数  内核类型    用getStructuringElement函数得到

 

例子:

 

  1. morphologyEx(ma1, maArray[0], MORPH_OPEN, getStructuringElement(MORPH_RECT, Size(15,15)));  
    imshow("im4", maArray[0]);  
      
    morphologyEx(ma1, maArray[1], MORPH_CLOSE, getStructuringElement(MORPH_RECT, Size(15, 15)));  
    imshow("im5", maArray[1]);  
      
    morphologyEx(ma1, maArray[2], MORPH_GRADIENT, getStructuringElement(MORPH_RECT, Size(15, 15)));  
    imshow("im6", maArray[2]);  
      
    morphologyEx(ma1, maArray[3], MORPH_TOPHAT, getStructuringElement(MORPH_RECT, Size(15, 15)));  
    imshow("im7", maArray[3]);  
      
    morphologyEx(ma1, maArray[4], MORPH_BLACKHAT, getStructuringElement(MORPH_RECT, Size(15, 15)));  
    imshow("im8", maArray[4]);  
      
    morphologyEx(ma1, maArray[5], MORPH_DILATE, getStructuringElement(MORPH_RECT, Size(15, 15)));  
    imshow("im9", maArray[5]);  
      
    morphologyEx(ma1, maArray[6], MORPH_ERODE, getStructuringElement(MORPH_RECT, Size(15, 15)));  
    imshow("im10", maArray[6]);  

     

放出一些运行效果图:

 

canny边缘检测效果图:

 

 

 

Sobel边缘检测:

Scharr滤波器:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值