python实现opencv学习二十:图像的开闭操作
2021/6/29 22:50:38
本文主要是介绍python实现opencv学习二十:图像的开闭操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
代码:
# -*- coding=GBK -*- import cv2 as cv #开操作: # 图像形态学的重要操纵之一,基于膨胀与腐蚀操作组合形成的; # 主要是应用在二值图像分析中,灰度图像亦可; # 开操作 = 腐蚀+膨胀 ,输入图像 + 结构元素 # 作用:用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积.提取水平或竖直的线 # 闭操作: # 图像形态学的重要操纵之一,基于膨胀与腐蚀操作组合形成的; # 主要是应用在二值图像分析中,灰度图像亦可; # 开操作 = 膨胀+腐蚀 ,输入图像 + 结构元素 # 作用:用来填充物体内细小空洞、连接邻近物体、平滑其边界的同时并不明显改变其面积. # getStructuringElement() 与 morphologyEx() 函数用法:https://blog.csdn.net/weixin_42512684/article/details/111087122 def 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学习二十:图像的开闭操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器
- 2024-11-16四种数据科学Web界面框架快速对比:Rio、Reflex、Streamlit和Plotly Dash
- 2024-11-14获取参数学习:Python编程入门教程