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

Opencv学习笔记(十二):图片腐蚀和膨胀操作

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

Opencv学习笔记(十二):图片腐蚀和膨胀操作

文章目录
  • 参考
  • 腐蚀
    • 代码
    • 效果
  • 膨胀
    • 代码
    • 效果
  • 开运算/闭运算
    • 代码

参考
  1. OpenCV-Python图像处理:腐蚀和膨胀原理及erode、dilate函数介绍
腐蚀

原理:是在原图的小区域内取局部最小值。因为是二值化图,只有 0 和 255,所以小区域内有一个是 0 该像素点就为 0:

作用:图像中的物体变小

代码
erode(src, kernel, dst=None, anchor=None, iterations=None, borderType=None, borderValue=None)#腐蚀函数

import cv2
import numpy as np

# 腐蚀
image = cv2.imread('2.png')
kernel1 = np.ones((3,3),np.uint8)  # 腐蚀单元
kernel2 = np.ones((5,5),np.uint8)
kernel3 = np.ones((7,7),np.uint8)

erosion1 = cv2.erode(image, kernel1)  # 腐蚀函数
erosion2 = cv2.erode(image, kernel2)
erosion3 = cv2.erode(image, kernel3)

cv2.imshow("original", image)
cv2.imshow("erosion1", erosion1)
cv2.imshow("erosion2", erosion2)
cv2.imshow("erosion3", erosion3)

cv2.waitKey(0)
效果

膨胀

原理:膨胀与腐蚀相反,取的是局部最大值。
作用:先腐蚀后膨胀,连接两个分开的物体,图像中的物体变大。

代码
import cv2
import numpy as np

# 腐蚀
image = cv2.imread('3.jpg')
kernel1 = np.ones((3, 3), np.uint8)     # 3个不同尺度的膨胀单元
kernel2 = np.ones((5, 5), np.uint8)
kernel3 = np.ones((9, 9), np.uint8)

dilation1 = cv2.dilate(image, kernel1)    # 膨胀函数
dilation2 = cv2.dilate(image, kernel2)
dilation3 = cv2.dilate(image, kernel3)


cv2.imshow("original", image)
cv2.imshow("dilation1", dilation1)
cv2.imshow("dilation2", dilation2)
cv2.imshow("dilation3", dilation3)

cv2.waitKey(0)
效果

开运算/闭运算

开运算就是先腐蚀后膨胀,可以直接通过opencv的morphologyEx进行处理,cv2.MORPH_OPEN指定开运算

代码

开运算:

import cv2
image = cv2.imread('2.png')
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (7, 7))
opening = cv2.morphologyEx(image, cv2.MORPH_OPEN, kernel)
cv2.imshow('original', image)
cv2.imshow('deal', opening)
cv2.waitKey(0)

闭运算:
闭运算就是先膨胀后腐蚀,可以直接调用morphologyEx,cv2.MORPH_CLOSE指定闭运算

import cv2
import numpy as np
image = cv2.imread('2.png')
close_img = cv2.morphologyEx(image,cv2.MORPH_CLOSE,kernel=np.ones((7,7),np.uint8))
cv2.imshow('original', image)
cv2.imshow('deal', close_img)
cv2.waitKey(0)
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/998153.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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