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中字典创建、遍历、添加等实用操作技巧合集
Jun 02 Python
图文详解WinPE下安装Python
May 17 Python
python爬虫使用cookie登录详解
Dec 27 Python
python读取文件名并改名字的实例
Jan 07 Python
Python使用百度api做人脸对比的方法
Aug 28 Python
PYTHON如何读取和写入EXCEL里面的数据
Oct 28 Python
python文件操作的简单方法总结
Nov 07 Python
TensorFlow2.0:张量的合并与分割实例
Jan 19 Python
keras中的卷积层&池化层的用法
May 22 Python
详解pycharm2020.1.1专业版安装指南(推荐)
Aug 07 Python
详解Python中的Lock和Rlock
Jan 26 Python
python实现图片转字符画
Feb 19 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
浅谈PHP 闭包特性在实际应用中的问题
2009/10/30 PHP
用PHP将数据导入到Foxmail的实现代码
2010/09/05 PHP
php Xdebug的安装与使用详解
2013/06/20 PHP
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
php中加密解密DES类的简单使用方法示例
2020/03/26 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
关于hashchangebroker和statehashable的补充文档
2011/08/08 Javascript
Javascript核心读书有感之语句
2015/02/11 Javascript
javascript创建cookie、读取cookie
2016/03/31 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
jQuery1.9+中删除了live以后的替代方法
2016/06/17 Javascript
js实现多图左右切换功能
2016/08/04 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
JS实现的获取银行卡号归属地及银行卡类型操作示例
2019/01/08 Javascript
bootstrap table实现iview固定列的效果实例代码详解
2019/09/30 Javascript
vue3.0实现插件封装
2020/12/14 Vue.js
[42:32]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
在Linux系统上通过uWSGI配置Nginx+Python环境的教程
2015/12/25 Python
利用Python获取赶集网招聘信息前篇
2016/04/18 Python
离线安装Pyecharts的步骤以及依赖包流程
2020/04/23 Python
不同版本中Python matplotlib.pyplot.draw()界面绘制异常问题的解决
2017/09/24 Python
pytorch使用Variable实现线性回归
2019/05/21 Python
Python对接六大主流数据库(只需三步)
2019/07/31 Python
Html5页面在微信端的分享的实现方法
2018/08/30 HTML / CSS
Dr. Martens马汀博士澳大利亚官网:马丁靴鼻祖
2019/07/02 全球购物
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
毕业学生推荐信
2013/12/01 职场文书
关于是否需要写商业计划书
2014/02/07 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
Golang中异常处理机制详解
2021/06/08 Golang
PyQt5实现多张图片显示并滚动
2021/06/11 Python
Java基础——Map集合
2022/04/01 Java/Android