opencv-python中的腐蚀与膨胀函数

opencv-python中的腐蚀与膨胀函数就像土壤侵蚀一样 这个操作会把前景物体的边界腐蚀掉 但是前景仍然是白色 这是怎么做到的呢 卷积核沿着图像滑动 如果与卷积核对应的原图像的所有像素值都是 1 那么中心元素就保持原来的像素值 否则就变为零 这回产生什么影响呢 根据卷积核的大小靠近前景的所有像素都会被腐蚀掉 变为 0 所以前景物体会变小 整幅图像的白色区域会减少 这对于去除白噪声很有用 也可以用来断开两个连在一块的物体等

1、图像的腐蚀:

就像土壤侵蚀一样,这个操作会把前景物体的边界腐蚀掉(但是前景仍然是白色)。

这是怎么做到的呢?卷积核沿着图像滑动,如果与卷积核对应的原图像的所有像素值都是1,那么中心元素就保持原来的像素值,否则就变为零。  

这回产生什么影响呢?根据卷积核的大小靠近前景的所有像素都会被腐蚀掉(变为0),所以前景物体会变小,整幅图像的白色区域会减少。

这对于去除白噪声很有用,也可以用来断开两个连在一块的物体等。  

这里我们有一个例子,使用一个5×5的卷积核,其中所有的值都是以。让我们看看他是如何工作的:

import cv2 import numpy as np img = cv2.imread('j.png',0) kernel = np.ones((5,5),np.uint8) erosion = cv2.erode(img,kernel,iterations = 1)

腐蚀主要就是调用cv2.erode(img,kernel,iterations),这个函数的参数是

第一个参数:img指需要腐蚀的图

第二个参数:kernel指腐蚀操作的内核,默认是一个简单的3X3矩阵,我们也可以利用getStructuringElement()函数指明它的形状

第三个参数:iterations指的是腐蚀次数,省略是默认为1

2、图像的膨胀

与腐蚀相反,与卷积核对应的原图像的像素值中只要有一个是1,中心元素的像素值就是1。

所以这个操作会增加图像中的白色区域(前景)。一般在去噪声时先用腐蚀再用膨胀。

因为腐蚀在去掉白噪声的同时,也会使前景对象变小。所以我们再对他进行膨胀。这时噪声已经被去除了,不会再回来了,但是前景还在并会增加。

膨胀也可以用来连接两个分开的物体。

dilation = cv2.dilate(img,kernel,iterations = 1)

3、图像的开运算

先进性腐蚀再进行膨胀就叫做开运算。就像我们上面介绍的那样,它被用来去除噪声。这里我们用到的函数是cv2.morphologyEx()。

opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

先膨胀再腐蚀。它经常被用来填充前景物体中的小洞,或者前景物体上的小黑点。

closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217170.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午10:11
下一篇 2026年3月18日 上午10:11


相关推荐

  • 哈夫曼树原理,及构造方法

    哈夫曼树原理,及构造方法哈夫曼树 最优二叉树 百度百科 https baike baidu com item E5 93 88 E5 A4 AB E6 9B BC E6 A0 91 fr aladdin 一 目的 找出存放一串字符所需的最少的二进制编码二 构造方法 首先统计出每种字符出现的频率 也可以是概率 权值

    2026年3月26日
    2
  • PyCharm如何删除工程项目

    PyCharm如何删除工程项目1、在菜单中选择:file——>closeproject2、选择需要删除的项目右上角的“×”号进行删除工程项目3、找到工程项目的存放路径,删除对应的工程项目文件通过上诉操作即可在pycharm中删除工程文件。转载于:https://www.cnblogs.com/benpao1314/p/9679508.html…

    2022年8月26日
    11
  • zpl php,zpl文件扩展名,zpl文件怎么打开?

    zpl php,zpl文件扩展名,zpl文件怎么打开?zpl 文件类型 ZoomPlayerPl 扩展名为 zpl 的文件是一个数据文件 文件说明 Playlistform aDVDandmedia savedinatext

    2026年3月18日
    2
  • python打包的exe闪退(打包安装程序闪退)

    Python打包exe近期自己做了一个小demo要分享给朋友,但是朋友又没有python环境,所以打包成exe。下面就记录一下自己打包exe方法工具Python3.6.2Pyinstaller3.3.1安装Pyinstaller直接pip安装,没什么好说的pipinstallPyinstaller命令详解在这里我讲述我的打包方法,详细方法可见百度经验。…

    2022年4月10日
    456
  • gmap绘制路径_cad画可见点

    gmap绘制路径_cad画可见点将在地图上用鼠标左键点击的点绘制出来(两点之间用直线连接),并且能够随地图一起实现等比例缩放和拖拽。GMap主要涉及到几个坐标的转换:经纬度与GPoint的转换:GPoint是gMapControl控件坐标,坐标原点(0,0)位于控件的左上角,这个转换用函数FromLatLngToLocal()完成。GPoint与经纬度的转换:将控件坐标转换成经纬度,用函数FromLocalToL

    2025年7月30日
    4
  • 软件工程师业绩简要描述(优秀员工工作业绩和自我评价)

    1/9JAVA软件工程师简历自我评价具有很强的团队精神,有良好的组织和协调能力,有强烈的集体荣誉感。自学能力强,喜欢钻研新技术,敢于面对和克服困难。熟练使用spring+struts+hibernate整合开发。熟练使用jsp、servlet、jstl、jdbc下的编程开发。熟练使用eclipseide开发工具,熟练掌握tomcat等web容器以及j2ee容器的配置以及部署,能够使用junit进行…

    2022年4月13日
    378

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号