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()  # 释放所有窗体

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

相关文章
|
6天前
|
API 数据库 数据安全/隐私保护
Flask框架在Python面试中的应用与实战
【4月更文挑战第18天】Django REST framework (DRF) 是用于构建Web API的强力工具,尤其适合Django应用。本文深入讨论DRF面试常见问题,包括视图、序列化、路由、权限控制、分页过滤排序及错误处理。同时,强调了易错点如序列化器验证、权限认证配置、API版本管理、性能优化和响应格式统一,并提供实战代码示例。了解这些知识点有助于在Python面试中展现优秀的Web服务开发能力。
22 1
|
1天前
|
人工智能 安全 Java
Python 多线程编程实战:threading 模块的最佳实践
Python 多线程编程实战:threading 模块的最佳实践
10 5
|
2天前
|
机器学习/深度学习 人工智能 算法
机械视觉:原理、应用及Python代码示例
机械视觉:原理、应用及Python代码示例
|
2天前
|
安全 前端开发 JavaScript
在Python Web开发过程中:Web框架相关,如何在Web应用中防止CSRF攻击?
在Python Web开发中防范CSRF攻击的关键措施包括:验证HTTP Referer字段、使用CSRF token、自定义HTTP头验证、利用Web框架的防护机制(如Django的`{% csrf_token %}`)、Ajax请求时添加token、设置安全会话cookie及教育用户提高安全意识。定期进行安全审计和测试以应对新威胁。组合运用这些方法能有效提升应用安全性。
7 0
|
4天前
|
缓存 人工智能 API
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
【Python+微信】【企业微信开发入坑指北】2. 如何利用企业微信API主动给用户发应用消息
8 0
|
4天前
|
人工智能 Python
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
【AI大模型应用开发】【LangChain系列】实战案例1:用LangChain写Python代码并执行来生成答案
9 0
|
4天前
|
Python
Python运算深入探索
Python运算深入探索
7 0
|
2月前
|
监控 API 计算机视觉
OpenCV这么简单为啥不学——1.3、图像缩放resize函数
OpenCV这么简单为啥不学——1.3、图像缩放resize函数
42 0
|
17天前
|
编解码 计算机视觉 Python
opencv 图像金字塔(python)
opencv 图像金字塔(python)
|
1月前
|
存储 计算机视觉
OpenCV(三十九):积分图像
OpenCV(三十九):积分图像
18 0