OpenCV中图像的开、闭运算讲解与实战应用(附Python源码)

简介: OpenCV中图像的开、闭运算讲解与实战应用(附Python源码)

需要源码和图片请点赞关注收藏后评论区留言私信~~~

一、开运算

开运算是将图像先进行腐蚀操作,再进行膨胀操作,开运算可以用来抹除图像外部的细节

如下图所示是一个简单的二叉树,父子节点之间都有线连接,如果对此图像进行腐蚀操作,可以得出第二张图,此时再执行膨胀操作,让缩小的节点恢复到原来的大小,可以得到第三张图的效果

这三幅图就是开运算的过程,从结果中可以明显的看出,经过开运算之后,二叉树中的连接线消失了,只剩下光秃秃的节点,因为连接线被核当成细节抹除了,所以利用检测轮廓的方法可以统计二叉树节点数量,也就是说在某些情况下,开运算的结果还可以用来做数量统计

下面实战抹除黑种草图像中的针状叶子

黑种草如下图所示,花呈蓝色,叶子像针一样又细又长,呈羽毛状,要抹除黑种草图像中的叶子,可以使用5×5的核对图像进行开运算

部分代码如下

import cv2
import numpas np
img = cv2.imad("nigella.png")  # 读取原图
k = np.ones(5, 5), np.uint8)  # 创建5*5的数组作为核
cv2.imshow("img", img)  # 显示原图
dst = cv2.eroe(img, k  # 腐蚀操作
dst = cv2.dilae(dst, k)  # 膨胀操作
cv2.imshow("dst", dst)  # 显示开运算结果
cv2.waitKey()  # 按下任何键盘按键后
cv2.destroyAllWindows()  # 释放所有窗体

二、闭运算

闭运算是将图像先进行膨胀操作,再进行腐蚀操作,闭运算可以抹除图像内部的细节,如下图身上布满斑点的小蜘蛛,先将图像进行膨胀操作,小蜘蛛身上的斑点被抹除,然后再将图像进行腐蚀操作

下面对汉字图片进行闭运算,使用15×15的核做闭运算,因为使用的核比较大,很容易导致一些间隔较近的区域合并到一起 可以观察闭运算对汉字图片造成了哪些影响

部分代码如下

import cv2
import numpy as np
img = cv2imreadtianye.png")  # 读取原图
k = np.es(( 15), np.uint8)  # 创建15*15的数组作为核
cv2.imsow("img", img)  # 显示原图
dst = cv2.dile(img, k)  # 膨胀操作
dst = cv2.erodst, k)  # 腐蚀操作
cv2.imshow("dst2", dst)  # 显示闭运算结果
cv2.waitKey()  # 按下任何键盘按键后
cv2.destrAllWindows()  # 释放所有窗体

创作不易 觉得有帮助请点赞关注收藏~~~

相关文章
|
3天前
|
开发工具 Python
2024年Python最全使用Python求解方程_python解方程,2024年最新面试高分实战
2024年Python最全使用Python求解方程_python解方程,2024年最新面试高分实战
2024年Python最全使用Python求解方程_python解方程,2024年最新面试高分实战
|
1天前
|
机器学习/深度学习 算法 数据挖掘
4小时学完!15年技术大牛用247个实战案例剖析的Python教程
今天给小伙伴们分享一份15年技术大牛用247个实战案例剖析的Python教程,这份教程全程彩图讲解,告别枯燥!60秒学会⼀个⼩例⼦,带你系统学习Python,从⼊门到⼤师。 涵盖了Python基础、Python字符串和正则、Python⽂件和⽇期、Python三⼤利器、Python绘图、Python之坑、Python第三⽅包、机器学习和深度学必知算法、Python实战、Pandas数据分析案例实战十大篇幅的精品案例教程
|
3天前
|
数据采集 Java 数据挖掘
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
最新Python+OpenCV+dlib汽车驾驶员疲劳驾驶检测!,2024年最新网易云java面试
|
3天前
|
数据采集 数据挖掘 计算机视觉
最全OpenCV-Python实战(3)——OpenCV中绘制图形与文本,面试官必问问题及答案
最全OpenCV-Python实战(3)——OpenCV中绘制图形与文本,面试官必问问题及答案
|
3天前
|
Python
2024年最全用Python和PIL美化图像:文本覆盖技术实战,Python高级面试题pdf
2024年最全用Python和PIL美化图像:文本覆盖技术实战,Python高级面试题pdf
|
6天前
|
算法 计算机视觉
OpenCV高斯差分技术实现图像边缘检测
OpenCV高斯差分技术实现图像边缘检测
|
8天前
|
计算机视觉
OpenCV图像运动模糊
OpenCV图像运动模糊
11 0
|
8天前
|
计算机视觉
OpenCV图像阈值
OpenCV图像阈值
5 0
|
8天前
|
计算机视觉
OpenCV图像混合
OpenCV图像混合
10 0
|
8天前
|
计算机视觉 Python
OpenCV为图像扩边(填充)
OpenCV为图像扩边(填充)
10 0