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实现115网盘自动下载的方法
Sep 30 Python
Python文件读取的3种方法及路径转义
Jun 21 Python
Linux中Python 环境软件包安装步骤
Mar 31 Python
python如何获取服务器硬件信息
May 11 Python
pycharm设置注释颜色的方法
May 23 Python
python实现日志按天分割
Jul 22 Python
python判断自身是否正在运行的方法
Aug 08 Python
python多项式拟合之np.polyfit 和 np.polyld详解
Feb 18 Python
Python通过两个dataframe用for循环求笛卡尔积
Apr 29 Python
学python爬虫能做什么
Jul 29 Python
如何使用python写截屏小工具
Sep 29 Python
基于Python的身份证验证识别和数据处理详解
Nov 14 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
深入解析fsockopen与pfsockopen的区别
2013/07/05 PHP
微信扫描二维码登录网站代码示例
2013/12/30 PHP
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
PHP制作图形验证码代码分享
2014/10/23 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
THINKPHP截取中文字符串函数实例代码
2017/03/20 PHP
老生常谈PHP面向对象之标识映射
2017/06/21 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
利用谷歌地图API获取点与点的距离的js代码
2012/10/11 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
JS判断当前页面是否在微信浏览器打开的方法
2015/12/08 Javascript
js实现当鼠标移到表格上时显示这一格全部内容的代码
2016/06/12 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
初探nodeJS
2017/01/24 NodeJs
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
微信小程序模板(template)使用详解
2018/01/31 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
2019/01/08 Javascript
vue draggable resizable 实现可拖拽缩放的组件功能
2019/07/15 Javascript
vue-element-admin 菜单标签失效的解决方式
2019/11/12 Javascript
微信小程序实现电影App导航和轮播
2020/11/30 Javascript
[46:25]DOTA2上海特级锦标赛主赛事日 - 4 败者组第五轮 MVP.Phx VS EG第二局
2016/03/05 DOTA
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
PyQT实现菜单中的复制,全选和清空的功能的方法
2019/06/17 Python
一文带你掌握Pyecharts地理数据可视化的方法
2021/02/06 Python
澳大利亚领先的在线美容商店:Facial Co
2017/10/22 全球购物
新西兰航空中国官网:Air New Zealand China
2018/07/24 全球购物
Anya Hindmarch官网:奢侈设计师手袋及配饰
2018/11/15 全球购物
戴尔英国翻新电脑和电子产品:Dell UK Refurbished Computers
2019/07/30 全球购物
安全责任书怎么写
2014/07/28 职场文书
四风问题查摆材料
2014/08/25 职场文书
大三学生学年自我鉴定
2014/09/12 职场文书
升学宴家长致辞
2015/07/27 职场文书