提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
腐蚀的作用:去除图像中不想要的小细节,比如一张二值图片中的噪点或者小细节。
膨胀的作用:膨胀的结果就是放大细节,放大的程度,取决于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