1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 图像形态学变换 膨胀和腐蚀 开闭运算 边缘检测 opencv实现

图像形态学变换 膨胀和腐蚀 开闭运算 边缘检测 opencv实现

时间:2019-03-19 10:04:06

相关推荐

图像形态学变换 膨胀和腐蚀 开闭运算 边缘检测 opencv实现

一. 官方文档:

dilate(膨胀):

函数原型 ↑

参数说明 ↑

cv.erode(腐蚀)的使用和其类似。

二. 实验:膨胀和腐蚀

# Writer : wojianxinygcl@# Date : .3.22import cv2 as cvimport numpy as npimage = 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@# Date : .3.22import cv2 as cvimport numpy as npimage = 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)

七. 实验结果:

膨胀-腐蚀=图像边缘(图像轮廓) ↑

八. 写在最后的话:

创作不易,如果本文对您有帮助,记得点赞哦!

九. 版权声明:

未经作者允许,请勿随意转载抄袭,抄袭情节严重者,作者将考虑追究其法律责任,创作不易,感谢您的理解和配合!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。