python实现opencv学习二十:图像的开闭 *** 作

python实现opencv学习二十:图像的开闭 *** 作,第1张

概述代码:#-*-coding=GBK-*-importcv2ascv#开 *** 作:#图像形态学的重要 *** 纵之一,基于膨胀与腐蚀 *** 作组合形成的;#主要是应用在二值图像分析中,灰度图像亦可;#开 *** 作=腐蚀+膨胀,输入图像+结构元素#作用:用来消除小物体、在纤细点处分离物体、平滑较大 代码:
# -*- Coding=GBK -*-import cv2 as cv#开 *** 作:    # 图像形态学的重要 *** 纵之一,基于膨胀与腐蚀 *** 作组合形成的;    # 主要是应用在二值图像分析中,灰度图像亦可;    # 开 *** 作 = 腐蚀+膨胀 ,输入图像 + 结构元素    # 作用:用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积.提取水平或竖直的线# 闭 *** 作:    # 图像形态学的重要 *** 纵之一,基于膨胀与腐蚀 *** 作组合形成的;    # 主要是应用在二值图像分析中,灰度图像亦可;    # 开 *** 作 = 膨胀+腐蚀 ,输入图像 + 结构元素    # 作用:用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积.# getStructuringElement() 与 morphologyEx() 函数用法:https://blog.csdn.net/weixin_42512684/article/details/111087122def open_image(image):    gray = cv.cvtcolor(image, cv.color_BGR2GRAY)    ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)    cv.imshow("Binarization", binary)    kernel = cv.getStructuringElement(cv.MORPH_RECT, (5, 5)) # 返回指定形状和尺寸的结构元素。    # retval = cv.getStructuringElement(shape, ksize[, anchor])    # shape: 元素形状,OpenCV 中提供了三种,MORPH_RECT(矩阵),MORPH_CORSS(交叉形状),MORPH_ELliPSE(椭圆) ;    # ksize,结构元素的大小;    # anchor,元素内的描点位置,默认为 (-1,-1)表示形状中心,在这里值得注意的是,只有MORPH-CROSS形状依赖描点位置,其它情况描点仅调节其他形态运算结果偏移了多少    binary = cv.morphologyEx(binary, cv.MORPH_OPEN, kernel)    # dst =cv.morphologyEx(src, op, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]] )    cv.imshow("Operation_Open", binary)def close_image(image):    gray = cv.cvtcolor(image, cv.color_BGR2GRAY)    ret, binary = cv.threshold(gray, 0, 255, cv.THRESH_BINARY | cv.THRESH_OTSU)    kernel = cv.getStructuringElement(cv.MORPH_RECT, (5, 5))    binary = cv.morphologyEx(binary, cv.MORPH_CLOSE, kernel)    cv.imshow("Operation_Close", binary)src = cv.imread("fengling.jpg")cv.imshow("before", src)open_image(src)close_image(src)cv.waitKey(0)cv.destroyAllwindows()
结果:

备注:

getStructuringElement(),morphologyEx()参考资料:https://blog.csdn.net/weixin_42512684/article/details/111087122

膨胀,腐蚀参考资料:https://blog.csdn.net/weixin_44623637/article/details/98777859

总结

以上是内存溢出为你收集整理的python实现opencv学习二十:图像的开闭 *** 作全部内容,希望文章能够帮你解决python实现opencv学习二十:图像的开闭 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1183575.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存