语言:python+opencv

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

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

图像腐蚀

腐蚀主要针对的是二值图像,如只有0和1两个值,
两个输入对象:1原始二值图像,2卷积核

使用卷积核遍历原始二值图像,如果卷积核对应的元素值均为1,其值才为1,否则为0。如图,红色为卷积核。

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

使用方法: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()

图像膨胀

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

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

使用方法: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()

总目录链接:
python3+opencv学习笔记汇总目录(适合基础入门学习)

进阶版讲解:
opencv进阶学习笔记13:图像形态学操作大全(膨胀,腐蚀,开闭,黑帽,顶帽,梯度)python版
电气专业的计算机小白,写博文不容易,如果你觉得本文对你有用,请点个赞支持下。谢谢。

opencv学习笔记12:图像腐蚀和图像膨胀相关推荐

  1. OpenCV学习笔记(十六)——CamShift研究 OpenCV学习笔记(十七)——运动分析和物体跟踪Video OpenCV学习笔记(十八)——图像的各种变换(cvtColor*+)imgproc

    OpenCV学习笔记(十六)--CamShift研究 CamShitf算法,即Continuously Apative Mean-Shift算法,基本思想就是对视频图像的多帧进行MeanShift运算 ...

  2. OpenCV学习笔记(十七):图像修补:inpaint()

    OpenCV学习笔记(十七):图像修补:inpaint() inpaint()函数 使用区域邻域在图像中还原选定区域. void inpaint( InputArray src, // 表示要修复的图 ...

  3. OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize()

    OpenCV学习笔记(十):图像金字塔Pyramid和图像缩放:pyrDown(),pyrUp(),resize() 一.图像金字塔定义: 图像金字塔是图像中多尺度表达的一种,最主要用于图像的分割,是 ...

  4. OpenCV学习笔记(三):图像对比度、亮度调整源码

    OpenCV学习笔记(三):图像对比度.亮度调整源码 主函数: #include <opencv2/opencv.hpp>using namespace cv;using namespac ...

  5. Opencv学习笔记(二) 提取图像中的水平线和垂直线

    提取图像中的水平线和垂直线属于基础的形态学操作的应用,原理:根据要提取图形来定义一个特定的结构元素,然后以这个结构相素去遍历图像,进行一系列形态学操作,以此过滤掉其他特征的图形,达到提取的效果. 示例 ...

  6. opencv学习笔记(三)—— 利用图像金字塔进行图像无缝拼接,cv2.pyrDown() ,cv2.pyrUp()

    原理 一般情况下,我们要处理是一副具有固定分辨率的图像.但是有些情况下,我们需要对同一图像的不同分辨率的子图像进行处理.比如,我们要在一幅图像中查找某个目标,比如脸,我们不知道目标在图像中的尺寸大小. ...

  7. 【OpenCV 学习笔记】第十一章: 图像金字塔

    第十一章: 图像金字塔 一.什么是图像金字塔¶ 同一张图片不同分辨率的子图的集合. 图像金字塔底部是待处理的高分辨率图像,也就是原始图像,顶部是低分辨率的近似图像.一般情况下,都是每向上移动一级,图像 ...

  8. opencv学习笔记(八)-- 在图像上绘制形状和文字

    文章目录 CV::Point以及CV::Scalar 画直线cv::line() 画椭圆cv::elipse() 画矩形cv::rectangle() 画圆cv::circle() 画填充多边形cv: ...

  9. 【OpenCV学习笔记】之六 手写图像旋转函数---万丈高楼平地起

    话说,平凡之处显真格,这一点也没错!  比如,对旋转图像进行双线性插值,很简单吧?  可,对我,折腾了大半天,也没有达到预期效果!  尤其是三个误区让我抓瞎好久: 1,坐标旋转公式.   这东西,要用 ...

最新文章

  1. Python time库的使用总结
  2. 重上热搜!北师大教授:给非洲留学生1年10万奖学金真的不算多!
  3. RNN 扫盲:循环神经网络解读及其 PyTorch 应用实现
  4. 使用Active Directory的常见问题2
  5. php 如何做ftp传输,php如何实现ftp上传
  6. django(未解决的问题)
  7. 微信小程序需要https后台的创业机会思考
  8. 1g的树莓派4b能做什么_树莓派4B系统安装及配置
  9. python 参数一样结果不一样_使用不同的参数多次调用同一个函数python
  10. 2021年微信小程序点餐系统功能模板搭建
  11. 基于Python+MySQL的图书销售管理系统 课程论文+项目源码及数据库文件
  12. hive和hadoop版本对应关系
  13. python三引号的作用有哪些_Python中3种引号的作用与区别
  14. 有关windows10修改C盘用户中文名文件夹相关问题的具体解决方案
  15. php语句连接,php – 内连接选择语句
  16. YOLOv7(目标检测)入门教程详解---环境安装
  17. 玩机器人可以学到什么?
  18. 工作需要仪式感,不然TA是没有温度的
  19. matlab 人人,matlab pivlab
  20. [HARDWARE] ddr、ddr2、ddr3的区别

热门文章

  1. ElasticSearch-7.10版本最新万字长文教程【距离搞懂ELK核心你只差这一片文章】
  2. 【深度解析RBAC用户-角色-权限设计方案,以及核心逻辑代码的讲解】
  3. 手把手带你领略双十一背后的核心技术Sentinel之服务的熔断降级
  4. springboot+springsecurity+mybatis+jwt实现单点登录(详细到爆了)
  5. 《IBM-PC汇编语言程序设计》(第2版)【沈美明 温冬婵】——第五章——自编解析与答案
  6. Spring Security——实现登录后跳转到登录前页面
  7. php 以-截取剩余的字符串_10分钟从PHP到Python
  8. mybatis-plus与jpa在操作数据库时写法对比
  9. 计算机组成原理【随堂练习】
  10. JavaScript基础04【逻辑、复制、关系、相等运算符、Unicode编码表】