一. 官方文档:
dilate(膨胀):
函数原型 ↑
参数说明 ↑
cv.erode(腐蚀)的使用和其类似。
二. 实验:膨胀和腐蚀
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23# Writer : wojianxinygcl@163.com # Date : 2020.3.22 import cv2 as cv import numpy as np image = cv.imread("../paojie.jpg") image = cv.cvtColor(image,cv.COLOR_RGB2GRAY) # 得到二值图像 定义阈值为127 #ret,thresh1 = cv.threshold(image,127,255,cv.THRESH_BINARY) # 得到二值图像 自动计算合适的阈值 ret,thresh1 = cv.threshold(image,0,255,cv.THRESH_BINARY+cv.THRESH_OTSU) Black_and_White = thresh1.copy() # 得到腐蚀图像,3*3为卷积核大小 erode_result = cv.erode(thresh1,(3,3)) # 得到膨胀图像,3*3为卷积核大小 dilate_result = cv.dilate(thresh1,(3,3)) cv.imshow('Black_and_White',Black_and_White) cv.imshow("erode_result", erode_result) cv.imshow("dilate_result",dilate_result) cv.waitKey(0) cv.destroyAllWindows()
三. 实验输出:
原图(左)、膨胀图像(中)、腐蚀图像(右) ↑
四. 实验:开闭运算
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24# Writer : wojianxinygcl@163.com # Date : 2020.3.22 import cv2 as cv import numpy as np image = cv.imread("../paojie.jpg") image = cv.cvtColor(image,cv.COLOR_RGB2GRAY) # 得到二值图像 定义阈值为127 #ret,thresh1 = cv.threshold(image,127,255,cv.THRESH_BINARY) # 得到二值图像 自动计算合适的阈值 ret,thresh1 = cv.threshold(image,0,255,cv.THRESH_BINARY+cv.THRESH_OTSU) Black_and_White = thresh1.copy() # 闭运算 closing = cv.morphologyEx(thresh1, cv.MORPH_CLOSE, kernel=(3,3)) # 开运算 opening = cv.morphologyEx(thresh1, cv.MORPH_OPEN, kernel=(3,3)) cv.imshow('Black_and_White',Black_and_White) cv.imshow("closing", closing) cv.imshow("opening", opening) cv.waitKey(0) cv.destroyAllWindows()
五. 实验输出:
原图(左)、闭运算(中)、开运算(右) ↑
六. Morphological Gradient 形态学梯度 用于检测图像边缘,得到图像轮廓
膨胀和腐蚀的差值得到:图像边缘
函数:gradient = cv.morphologyEx(img, cv.MORPH_GRADIENT, kernel)
七. 实验结果:
膨胀-腐蚀=图像边缘(图像轮廓) ↑
八. 写在最后的话:
创作不易,如果本文对您有帮助,记得点赞哦!
九. 版权声明:
未经作者允许,请勿随意转载抄袭,抄袭情节严重者,作者将考虑追究其法律责任,创作不易,感谢您的理解和配合!
最后
以上就是要减肥招牌最近收集整理的关于图像形态学变换 膨胀和腐蚀 开闭运算 边缘检测 opencv实现的全部内容,更多相关图像形态学变换内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复