栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

形态学处理-腐蚀、膨胀、开闭运算-树莓派 Opencv-基于Python学习记录DAY-3

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

形态学处理-腐蚀、膨胀、开闭运算-树莓派 Opencv-基于Python学习记录DAY-3

腐蚀

作用是消除物体边界点,使目标缩小,可以消除小于结构元素的噪声点。

   cv.erode(img,kernel,iterations)
膨胀

作用是将与物体接触的所有背景点合并到物体中,使目标增大,可添补目标中的孔洞。

   cv.dilate(img,kernel,iterations)

这个概念可以理解为处理后的色块大小

核的像素面积越大处理产生的色块越大越模糊

以下为原图,腐蚀图,膨胀图效果

 示例代码:

import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
# 1 读取图像
img = cv.imread("./1.jpeg")
# 2 创建核结构
kernel = np.ones((5, 5), np.uint8)

# 3 图像腐蚀和膨胀
erosion = cv.erode(img, kernel) # 腐蚀
dilate = cv.dilate(img,kernel) # 膨胀

# 4 图像展示
fig,axes=plt.subplots(nrows=1,ncols=3,figsize=(10,8),dpi=100)
axes[0].imshow(img)
axes[0].set_title("原图")
axes[1].imshow(erosion)
axes[1].set_title("腐蚀后结果")
axes[2].imshow(dilate)
axes[2].set_title("膨胀后结果")
plt.show()
开闭运算

以上这两种操作一般都会配合使用

开运算

先腐蚀后膨胀就是开运算

作用是:分离物体,消除小区域。特点:消除噪点,去除小的干扰块,而不影原来的图像。

闭运算

先膨胀后腐蚀就是闭运算

作用是:消除“闭合”物体里面的孔洞,特点:可以填充闭合区域。

import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
# 1 读取图像
img1 = cv.imread("./1.png")
img2 = cv.imread("./1.png")
# 2 创建核结构
kernel = np.ones((10, 10), np.uint8)
# 3 图像的开闭运算
cvOpen = cv.morphologyEx(img1,cv.MORPH_OPEN,kernel) # 开运算
cvClose = cv.morphologyEx(img2,cv.MORPH_CLOSE,kernel)# 闭运算
# 4 图像展示
fig,axes=plt.subplots(nrows=2,ncols=2,figsize=(10,8))
axes[0,0].imshow(img1)
axes[0,0].set_title("原图")
axes[0,1].imshow(cvOpen)
axes[0,1].set_title("开运算结果")
axes[1,0].imshow(img2)
axes[1,0].set_title("原图")
axes[1,1].imshow(cvClose)
axes[1,1].set_title("闭运算结果")
plt.show()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/269131.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号