最全OpenCV形态学-图像腐蚀和膨胀到底有多厉害!_图像腐蚀 卷积(1),2024年最新醍醐灌顶

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

人工智能在全球范围内呈爆发式发展,根据麦肯锡全球研究院的预测,AI带来的社会革命,将比工业革命的速度快10倍,规模大300倍,影响几乎大3000倍。从2012年开始,AI算力的提升速度已超过摩尔定律的预测,平均每3-4个月翻一番。这就是人工智能的美好前景!所以我们正式开始我们今天的学习内容。
上次博客我们详细的讲解了,阈值分割和滤波的基本知识和相关操作。这里我们继续介绍计算机视觉中的图像形态学-本次相关知识我们分为两次博客进行讲解。我们现在就开始学习吧!
在这里插入图片描述

🌝图像形态学-腐蚀

其实这里说的腐蚀吧,我们都可以想象的到,日常生活中有太多腐蚀的例子了,我们肉眼看到的就有很多。那么我们先来看一下图像形态学中的腐蚀到底长什么样子。

在这里插入图片描述
在这里插入图片描述
💉💉

注意注意注意 1.图像形态学腐蚀操作针对的是二值图像。 2.两个输入对象。 一:二值图像 二:卷积核

二值图像我们不用过多介绍,之前我们已经介绍过了彩色装灰度,灰度转二值,包括阈值分割都已经把这个操作都讲解完成了。那么这个卷积核是什么呢?其实我们也讲过了在上一节但是我们在继续回顾以下它到底是什么!!!
在这里插入图片描述

我们设置了卷积核的大小,然后它遍历图像的每一个像素点,对应的腐蚀操作就是卷积核中的像素值,只要有一个为0也就是黑色,那么我就判定该像素新值为0,除非都为1,那么结果才为1。也就是说我把白色图像的边缘卷积核覆盖的部分全都给转变成了黑色。

在这里插入图片描述
🌔腐蚀操作函数介绍
dst = cv2.erode ( src , kernel , iterations )

  • src:原始图像
  • kernel:卷积核,这个卷积核需要我们单独设置
  • iterations:迭代次数,默认情况下,迭代次数是1,根据需要可以进行多次腐蚀操作。

卷积核的设定
kernel = np.ones((5,5),np.uint8)
🌔代码部分

import cv2
import numpy as np
o=cv2.imread("image\\erode.bmp",cv2.IMREAD_UNCHANGED)
kernel = np.ones((5,5),np.uint8)
erosion = cv2.erode(o,kernel)
cv2.imshow("orriginal",o)
cv2.imshow("erosion",erosion)
cv2.waitKey()
cv2.destroyAllWindows()

在这里插入图片描述
很明显的把周围的小刺刺全部都给消除了,把过滤掉了!

🌝图像形态学-膨胀

其实膨胀的操作在我理解就是腐蚀操作的逆向操作,说白了就是把图像按照一定的规则扩大一点。

在这里插入图片描述
在这里插入图片描述
1.图像被腐蚀后,去除了噪声,但是会压缩图像。
2.对腐蚀过的图像,进行膨胀处理,可以去除噪声,并保持原有形状。
在这里插入图片描述
同样我们需要注意的两点就是:第一膨胀操作也是针对于二值图像。然后就是卷积核的相关知识和操作。这里我们就不过多介绍。

卷积核遍历的时候只要有1,也就是白色像素值存在,那么我们就把该像素新值定为1。除非卷积核中所有的像素值都是0,才是0,也就是黑色。

在这里插入图片描述
🌔膨胀操作函数介绍
dst = cv2.dilate ( src , kernel , iterations )

  • src:原始图像
  • kernel:卷积核,这个卷积核需要我们单独设置
  • iterations:迭代次数,默认情况下,迭代次数是1,根据需要可以进行多次腐蚀操作。

卷积核的设定
kernel = np.ones((5,5),np.uint8)
🌔代码部分

import cv2
import numpy as np
o=cv2.imread("image\\dilate.bmp",cv2.IMREAD_UNCHANGED)
kernel = np.ones((5,5),np.uint8)
dilation = cv2.dilate(o,kernel,iterations=9)
cv2.imshow("orriginal",o)
cv2.imshow(“dilation",dilation)
cv2.waitKey()
cv2.destroyAllWindows()

这里我们让迭代次数为9,得到的结果就是:
在这里插入图片描述

🌝图像形态学-开运算

在进行膨胀操作的时候我们介绍到了这个:
1.图像被腐蚀后,去除了噪声,但是会压缩图像。
2.对腐蚀过的图像,进行膨胀处理,可以去除噪声,并保持原有形状。

*开运算(image)=膨胀(腐蚀(image))*

在这里插入图片描述
开运算就是先把图像进行腐蚀操作,然后进行膨胀操作的一个过程!
在这里插入图片描述

如果我们对于有噪声的图像单独的进行腐蚀操作,就会对图像进行压缩,如果我们想要恢复到原始图像就要进行相同程度上的膨胀,这个操作我们就成为开运算。

🌔开运算操作函数介绍
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

img:原始图像
cv2.MORPH_OPEN:表示进行开运算,相同的我们所知道的还有闭运算。
kernel:卷积核,同样我们对开运算的卷积核要进行设定
卷积核的设定
kernel = np.ones((5,5),np.uint8)
🌔代码部分

import cv2
import numpy as np
o=cv2.imread("image\\opening.bmp",cv2.IMREAD_UNCHANGED)
k=np.ones((5,5),np.uint8)
r=cv2.morphologyEx(o,cv2.MORPH_OPEN,k)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()



![img](https://img-blog.csdnimg.cn/img_convert/adaf01afb3f5e28de34de5b44bcbabde.png)
![img](https://img-blog.csdnimg.cn/img_convert/879a8d746f98d5a9d0b55dfbcbaf500e.png)
![img](https://img-blog.csdnimg.cn/img_convert/1042f271061bda5e1ecc5a20abb4e527.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值