概述
一. 官方文档:
dilate(膨胀):
函数原型 ↑
参数说明 ↑
cv.erode(腐蚀)的使用和其类似。
二. 实验:膨胀和腐蚀
# 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()
三. 实验输出:
原图(左)、膨胀图像(中)、腐蚀图像(右) ↑
四. 实验:开闭运算
# 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实现的全部内容,希望文章能够帮你解决图像形态学变换 膨胀和腐蚀 开闭运算 边缘检测 opencv实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复