当前位置: 首页 > news >正文

【快速实践 OpenCV morphology】形态学操作:腐蚀、膨胀、开运算、闭运算

✨我们将以下图为例,快速实践不同的形态学操作,如腐蚀 erode、膨胀 dilate、开 open、闭 close …

import cv2
import numpy as npimg = cv2.imread('D:\Desktop\csdn.png',0)
cv2.imshow('binary_Erode2', img) 
cv2.waitKey(0)

💜 腐蚀 :内核在图像中滑动,当内核下存在(原始图像中的)像素不为 1 时,内核下的区域将被腐蚀 (变为零)

erosion = cv2.erode(img,kernel) ## 白色变小

import cv2
import numpy as npimg = cv2.imread('D:\Desktop\csdn.png',0)kernel = np.ones((10,10),np.uint8)
erosion = cv2.erode(img,kernel)  ### cv2.imshow('binary_Erode', erosion) 
cv2.waitKey(0)

💜 膨胀 :内核在图像中滑动,当内核下存在(原始图像中的)像素 1 时,内核下的区域将被膨胀 (变为一)

dilation = cv2.dilate(img,kernel) ## 白色变大

import cv2
import numpy as npimg = cv2.imread('D:\Desktop\csdn.png',0)kernel = np.ones((10,10),np.uint8)
dilation = cv2.dilate(img,kernel)   ### cv2.imshow('binary_Dilation', dilation) 
cv2.waitKey(0)

💜 开运算 :腐蚀再膨胀

opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)

import cv2
import numpy as npimg = cv2.imread('D:\Desktop\csdn.png',0)kernel = np.ones((10,10),np.uint8)
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)   ### cv2.imshow('binary_Opening ', opening) 
cv2.waitKey(0)

💜 闭运算 :膨胀再腐蚀

closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)

import cv2
import numpy as npimg = cv2.imread('D:\Desktop\csdn.png',0)kernel = np.ones((10,10),np.uint8)
closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)   ### cv2.imshow('binary_Closing', closing) 
cv2.waitKey(0)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 无人机飞行姿态俯仰、横滚、偏航、油门详解
  • vite+react+ts+Rust来进行前后端web开发(hello world)
  • 后端返回一个图片链接,前端如何实现下载功能?
  • 零基础入门:创建一个简单的Python爬虫管理系统
  • 杰发科技AC7840——SENT数据解析及软件Sent发送的实现
  • 【Node.js基础04】包的理解与使用
  • 如何使用 API list 极狐GitLab 容器镜像仓库中的 tag?
  • SVN文件夹没有图标(绿钩子和红感叹号)
  • 【C# WInForm】将TextBox从输入框设置为文本框
  • Nginx笔记(一)
  • 在Mac M1上面使用Dockerfile打x86_64镜像
  • nng协议nni_taskq_sys_init(void) 对nni_taskq_systq 初始化
  • Python从0到100(四十三):数据库与Django ORM 精讲
  • LeetCode 129, 133, 136
  • 鸿蒙界面开发
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 【mysql】环境安装、服务启动、密码设置
  • 10个最佳ES6特性 ES7与ES8的特性
  • go语言学习初探(一)
  • k8s 面向应用开发者的基础命令
  • maya建模与骨骼动画快速实现人工鱼
  • spring + angular 实现导出excel
  • vue2.0开发聊天程序(四) 完整体验一次Vue开发(下)
  • 大主子表关联的性能优化方法
  • 代理模式
  • 服务器从安装到部署全过程(二)
  • 三分钟教你同步 Visual Studio Code 设置
  • 使用SAX解析XML
  • 算法---两个栈实现一个队列
  • 项目管理碎碎念系列之一:干系人管理
  • ​Benvista PhotoZoom Pro 9.0.4新功能介绍
  • # windows 运行框输入mrt提示错误:Windows 找不到文件‘mrt‘。请确定文件名是否正确后,再试一次
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (二) 初入MySQL 【数据库管理】
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (蓝桥杯每日一题)love
  • (七)c52学习之旅-中断
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • (转)平衡树
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .Net 4.0并行库实用性演练
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • @Transient注解
  • @Valid和@NotNull字段校验使用
  • [ vulhub漏洞复现篇 ] Grafana任意文件读取漏洞CVE-2021-43798
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [acwing周赛复盘] 第 69 场周赛20220917
  • [AIGC] 使用Curl进行网络请求的常见用法
  • [APIO2012] 派遣 dispatching