opencv 图像腐蚀和图像膨胀的实现


Posted in Python onJuly 07, 2020

语言:python+opencv

为什么使用图像腐蚀和图像膨胀

如图,使用图像腐蚀进行去噪,但是为压缩噪声。
对腐蚀过的图像,进行膨胀处理,可以去除噪声,并保持原样形状。

opencv 图像腐蚀和图像膨胀的实现

图像腐蚀

腐蚀主要针对的是二值图像,如只有0和1两个值,
两个输入对象:1原始二值图像,2卷积核
使用卷积核遍历原始二值图像,如果卷积核对应的元素值均为1,其值才为1,否则为0。如图,红色为卷积核。

opencv 图像腐蚀和图像膨胀的实现

腐蚀后的结果示意图见下面,效果是将边缘抹掉一部分。

opencv 图像腐蚀和图像膨胀的实现

使用方法:erode 中文翻译:侵蚀

处理结果=cv2.erode(原始图像src,卷积核kernel,迭代次数iterations)

卷积核kernel:一般为正方形数组

如:k=np.ones((5,5),np.uint8)

迭代次数iterations:腐蚀次数,默认1

import cv2
import numpy as np
o=cv2.imread("erode.bmp",cv2.IMREAD_UNCHANGED)
k=np.ones((5,5),np.uint8)
r=cv2.erode(o,k,iterations=10)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

opencv 图像腐蚀和图像膨胀的实现

图像膨胀

图像腐蚀的逆操作。
针对的是二值图像
输入两个参数:二值图像,卷积核。

opencv 图像腐蚀和图像膨胀的实现

使用卷积核对二值图像进行遍历,卷积核对应的图像像素点只要有一个为1,则值为1,否则为0.

opencv 图像腐蚀和图像膨胀的实现

使用方法:dilate
结果=cv2.dilate(二值图像src,卷积核k,迭代次数itreations)
卷积核 正方形数组:如np.ones((5,5),np.uint8)

import cv2
import numpy as np
o=cv2.imread("dilation.bmp",cv2.IMREAD_UNCHANGED)
k=np.ones((5,5),np.uint8)
r=cv2.dilate(o,k,iterations=1)
cv2.imshow("original",o)
cv2.imshow("result",r)
cv2.waitKey()
cv2.destroyAllWindows()

opencv 图像腐蚀和图像膨胀的实现

到此这篇关于opencv 图像腐蚀和图像膨胀的实现的文章就介绍到这了,更多相关opencv 图像腐蚀和图像膨胀内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
通过python下载FTP上的文件夹的实现代码
Feb 10 Python
用Python脚本来删除指定容量以上的文件的教程
May 04 Python
Python实现信用卡系统(支持购物、转账、存取钱)
Jun 24 Python
Python设计模式之抽象工厂模式
Aug 25 Python
基于hashlib模块--加密(详解)
Jun 21 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
python地震数据可视化详解
Jun 18 Python
windows 10 设定计划任务自动执行 python 脚本的方法
Sep 11 Python
Python3 filecmp模块测试比较文件原理解析
Mar 23 Python
Python绘制地图神器folium的新人入门指南
May 23 Python
分析Python感知线程状态的解决方案之Event与信号量
Jun 16 Python
用Python仅20行代码编写一个简单的端口扫描器
Apr 08 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
Jul 07 #Python
浅析Python __name__ 是什么
Jul 07 #Python
Pytorch上下采样函数--interpolate用法
Jul 07 #Python
pytorch随机采样操作SubsetRandomSampler()
Jul 07 #Python
pytorch加载自己的图像数据集实例
Jul 07 #Python
keras实现VGG16 CIFAR10数据集方式
Jul 07 #Python
使用darknet框架的imagenet数据分类预训练操作
Jul 07 #Python
You might like
如何用phpmyadmin设置mysql数据库用户的权限
2012/01/09 PHP
php字符串的替换,分割和连接方法
2016/05/23 PHP
浅析php中array_map和array_walk的使用对比
2016/11/20 PHP
django中的ajax组件教程详解
2018/10/18 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
2019/04/12 PHP
终于解决了IE8不支持数组的indexOf方法
2013/04/03 Javascript
删除select中所有option选项jquery代码
2013/08/12 Javascript
jquery+css3打造一款ajax分页插件(自写)
2014/06/18 Javascript
WEB前端开发都应知道的jquery小技巧及jquery三个简写
2015/11/15 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
2016/02/25 Javascript
JavaScript实战之带收放动画效果的导航菜单
2016/08/16 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
详解vue-cli项目中怎么使用mock数据
2018/05/29 Javascript
javascript中函数的写法实例代码详解
2018/10/28 Javascript
微信小程序bindtap事件与冒泡阻止详解
2019/08/08 Javascript
详细解读Python中解析XML数据的方法
2015/10/15 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
浅析Python 条件控制语句
2020/07/15 Python
Python 排序最长英文单词链(列表中前一个单词末字母是下一个单词的首字母)
2020/12/14 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
three.js模拟实现太阳系行星体系功能
2019/09/03 HTML / CSS
挪威手表购物网站:Klokker
2016/09/19 全球购物
Michael Kors加拿大官网:购买设计师手袋、手表、鞋子、服装等
2019/03/16 全球购物
JNI的定义
2012/11/25 面试题
人力资源专业推荐信
2013/11/29 职场文书
优秀员工自荐书范文
2013/12/08 职场文书
网络工程专业自荐信范文
2014/03/16 职场文书
关于Numpy之repeat、tile的用法总结
2021/06/02 Python
简单聊聊Vue中的计算属性和属性侦听
2021/10/05 Vue.js
SQL Server表分区删除详情
2021/10/16 SQL Server