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学习笔记之os模块使用总结
Nov 03 Python
在Python的Bottle框架中使用微信API的示例
Apr 23 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
Jan 09 Python
Python使用OpenCV进行标定
May 08 Python
python找出列表中大于某个阈值的数据段示例
Nov 24 Python
JupyterNotebook设置Python环境的方法步骤
Dec 03 Python
PyQT5 emit 和 connect的用法详解
Dec 13 Python
tensorflow生成多个tfrecord文件实例
Feb 17 Python
Jupyter notebook运行Spark+Scala教程
Apr 10 Python
pyspark对Mysql数据库进行读写的实现
Dec 30 Python
python入门之算法学习
Apr 22 Python
python 使用tkinter与messagebox写界面和弹窗
Mar 20 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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
Sublime里直接运行PHP配置方法
2014/11/28 PHP
朋友网关于QQ相关的PHP代码(研究QQ的绝佳资料)
2015/01/26 PHP
PHP的PDO事务与自动提交
2019/01/24 PHP
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
jquery选择器需要注意的问题
2014/11/26 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
基于JS实现EOS隐藏错误提示层代码
2016/04/25 Javascript
JS判断图片是否加载完成方法汇总(最新版)
2016/05/13 Javascript
Js获取图片原始宽高的实现代码
2016/05/17 Javascript
javascript 封装Date日期类实例详解
2017/05/28 Javascript
angular6.x中ngTemplateOutlet指令的使用示例
2018/08/09 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
2018/09/07 Javascript
如何在vue里面优雅的解决跨域(路由冲突问题)
2019/01/20 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
Vue响应式原理Observer、Dep、Watcher理解
2019/06/06 Javascript
layui表格设计以及数据初始化详解
2019/10/26 Javascript
three.js 实现露珠滴落动画效果的示例代码
2021/03/01 Javascript
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
python利用hook技术破解https的实例代码
2013/03/25 Python
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
Ubuntu18.04安装 PyCharm并使用 Anaconda 管理的Python环境
2020/04/08 Python
如何将tensorflow训练好的模型移植到Android (MNIST手写数字识别)
2020/04/22 Python
opencv 查找连通区域 最大面积实例
2020/06/04 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
python中@property的作用和getter setter的解释
2020/12/22 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
2021/02/07 Python
傲盾软件面试题
2015/08/17 面试题
十八大感想感言
2014/02/10 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
体育专业自荐书
2014/05/29 职场文书
幼师求职自荐信
2015/03/26 职场文书
教师考核鉴定意见
2015/06/05 职场文书
调研报告的主要写法
2019/04/18 职场文书