opencv python照片的膨胀和腐蚀

前言
腐蚀的作用:去除图像中不想要的小细节,比如一张二值图片中的噪点或者小细节。
膨胀的作用:膨胀的结果就是放大细节,放大的程度,取决于element B的大小。
一般都是先进行腐蚀后进行膨胀。

提示:以下是本篇文章正文内容,下面案例可供参考

一、腐蚀
https://blog.csdn.net/minushuang/article/details/50435689 这篇文章很好的讲解了 腐蚀的原理。

代码如下(示例):

import cv2 as cv

def erode_demo(image):
print(image.shape)
gray = cv.cvtColor(image ,cv.COLOR_RGB2GRAY)
ret, binary = cv.threshold(gray,0,255,cv.THRESH_BINARY_INV | cv.THRESH_OTSU)
#ret, binary = cv.threshold(gray, 50, 255, cv.THRESH_BINARY_INV)
kernel = cv.getStructuringElement(cv.MORPH_RECT,(15,15))
dst = cv.erode(binary , kernel)
cv.imshow("erode_demo",dst)
src=cv.imread("D:\\1111.png")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image",src)
erode_demo(src)
cv.waitKey(0)

cv.destroyAllWindows()

 


二、膨胀
https://blog.csdn.net/minushuang/article/details/50435689 这篇文章很好的讲解了 膨胀的原理。

代码如下(示例):

import cv2 as cv


def erode_demo(image):
print(image.shape)
gray = cv.cvtColor(image ,cv.COLOR_RGB2GRAY)
ret, binary = cv.threshold(gray,0,255,cv.THRESH_BINARY_INV | cv.THRESH_OTSU)
#ret, binary = cv.threshold(gray, 50, 255, cv.THRESH_BINARY_INV)
kernel = cv.getStructuringElement(cv.MORPH_RECT,(15,15))
dst = cv.dilate(binary , kernel)
cv.imshow("erode_demo",dst)


src=cv.imread("D:\\1111.png")
cv.namedWindow("input image",cv.WINDOW_AUTOSIZE)
cv.imshow("input image",src)
erode_demo(src)
cv.waitKey(0)

cv.destroyAllWindows()

 


总结
鸣谢
https://blog.csdn.net/minushuang/article/details/50435689
https://www.bilibili.com/video/BV1QW411F7e7?p=25

原文链接:https://blog.csdn.net/qq_47566416/article/details/112596856

posted @ 2022-04-19 19:31  瘋耔  阅读(180)  评论(0编辑  收藏  举报
跳至侧栏