文章目录

  • 一、cv2.erode()和cv2.dilate()的运行原理

一、cv2.erode()和cv2.dilate()的运行原理

cv2.erode()是进行腐蚀用的,具体原理就是通过和卷积核进行操作,
以0和1为例 ,如果卷积核范围内有一个不是1,那么这点就为0,全是1的话这个点才为1。
而且他进行活动后的这个像素并不会影响下一个像素的改变,就是说这个值原本是0,经过操作后变为了1,但是相邻像素进行判断时还是把它当0。

示例代码如下:

import numpy as np
import matplotlib.pyplot as plt
import cv2
a=[[1,1,0,0,0,0,0],[1,0,0,1,0,0,0],[0,0,0,1,0,0,0],[0,0,0,1,0,0,0],[0,0,0,1,0,0,0],[0,0,0,1,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]]
#a[i][j]   i 是y j是x
a=np.array(a,np.uint8)
print(a.shape)#(8,7)
kernel = kernelY = cv2.getStructuringElement(cv2.MORPH_RECT, (1,3))#[[1][1][1]]
print(kernel)
print(kernel.shape)
plt.subplot(121)
plt.imshow(a)
plt.grid()plt.subplot(122)
a_erode=cv2.erode(a,kernel,iterations=1)
plt.imshow(a_erode)
plt.grid()plt.show()


这个图左边是原始图像,右边是处理后的图像,可以看出他是根据像素上下两点进行判断。注意kernel = kernelY = cv2.getStructuringElement(cv2.MORPH_RECT, (1,3))#[[1][1][1]]这里的(1,3)是三行一列,不是一行三列,我也不太清楚是怎么回事o(╥﹏╥)o。
a_erode=cv2.erode(a,kernel,iterations=1)的iterations可以立即为运行几次,即在这个卷积核的基础下收缩几次。

cv2.dilate()原理也大致相同,只不过规则是卷积核范围内只要有一个点是一这个点就是1,全是0他才为零。

如果有理解不到位的地方,希望大家指正。ε≡٩(๑>₃<)۶ 一心向学!


2021-11-15 cv2.erode()和cv2.dilate()的原理理解相关推荐

  1. opencv 的形态学操作,cv2.erode,cv.dilate等。

    opencv 的形态学操作,cv2.erode,cv.dilate,cv2.morphologyEx的使用. 一.膨胀 cv2.erode(img, kernel_size) 函数参数, img是输入 ...

  2. 原创文章侵权检测功能开放白名单,欢迎大家申请试用;APP端签到功能重新上线,奖励加倍【2021.11.15】

    hello,大家好,这里是「CSDN产品周报」第18期.本次更新主要涉及首页.创作中心.APP 三个产品模块,具体细节请往下看. 一.首页优化 1.首页的热榜.专业榜.悬赏榜融合为「新热榜」信息流 2 ...

  3. 2021.11.15表演节目事件

    表演节目事件 ① 在刚刚进入初中后,郑老师就对我们施行了小组加分制度.八个小组中前三名的组可以获得太阳.月亮.星星.大家表现得都很积极,回答问题的积极性直线型上升,经常出现"群芳竞艳&quo ...

  4. 第二次尝试修复Hbase2出现Region不一致,使用 HBCK2 - 2021.11.15

    spark任务中入hbase任务全部失败了,查看日志发现hbase出现问题 报错日志: 在hbase的log中看到报错 Call queue is full on xxxx,16000,1611197 ...

  5. 2021/11/15

    问题1.关联关系. 使用 Preload("Supplier")前,必须在models层面添加关联关系 Suppliers []SysSupplier `gorm:"ma ...

  6. 随手研究一个项目里的坦克履带——项目开发日志(2021.11.15)

    文章目录 前言 笔记: 坦克履带 车辆AI 前言 这几周我在一个新的UE4项目中做实现,正好这个项目中有AI车辆和坦克,拿来研究一下.我也不透露项目具体内容,应该不会被告吧. 笔记: 坦克履带 这个游 ...

  7. 机器学习进阶-图像形态学操作-腐蚀操作 1.cv2.erode(进行腐蚀操作)

    1.cv2.erode(src, kernel, iteration) 参数说明:src表示的是输入图片,kernel表示的是方框的大小,iteration表示迭代的次数 腐蚀操作原理:存在一个ker ...

  8. cv2.erode函数

    opencv-python:cv2.erode函数 des = cv2.erode(src, kernel[, anchor[, iterations[, borderType[, borderVal ...

  9. python opencv 腐蚀_opencv 图像的腐蚀(erode)和膨胀(dilate) 开运算以及闭运算

    原文链接:opencv 图像的腐蚀(erode)和膨胀(dilate) 开运算以及闭运算 OpenCV---开闭操作 - 山上有风景 - 博客园 腐蚀 : 腐蚀操作会把前景物体的边缘腐蚀掉.原理是卷积 ...

最新文章

  1. 转 Windows Mobile 开发工具和资源 黎波
  2. 【流媒体服务器的搭建】1. 源码编译安装x264
  3. 第八章 PX4-SDlog解析
  4. BPSK调制下(2,1,3)、(2,1,6)卷积码与QC-LDPC码译码性能和抑制突发噪声性能对比(MATLAB实现)
  5. 7-183 阅览室 (20 分)
  6. Python DearPyGui 多线程与异步
  7. 证券类私募主要需求及核心服务商
  8. Ubuntu16.04安装python3.6
  9. 虚拟机镜像文件高速下载方法之一
  10. Linux的capability深入分析
  11. 心电图特效代码 html5,用canvas画心电图的示例代码
  12. 我的三维mandelbulb制作fractal成长之路[续]
  13. 怎么理解anchor?
  14. 一个月工资3500元,有双休,每天工作8小时
  15. PHP导入(百万级)Excel表格数据
  16. C# 一些零零碎碎的方法,都是些帮助类,留存,也希望能帮助到各位
  17. SNMP/SMI研究总结
  18. ResNet50 网络结构搭建(PyTorch)
  19. Python-Windows使用curses库走过的坑
  20. Apple应用证书申请流程

热门文章

  1. 用html css实现五角星,用CSS画五角星
  2. 微信小程序开发案例分享-必背诗:从0到1,从前端到数据库
  3. 宿主机和docker容器之间的文件拷贝
  4. 实验五 类和对象-3 zxt
  5. 硬件软件接口 (RISC-V) Chapter 2
  6. cmd连接oracle数据库常用命令
  7. 【BurpSuite】插件开发学习之J2EEScan(下)-主动扫描(61-76)
  8. 《简洁记账》产品浅析
  9. 基于JAVA高铁在线购票系统计算机毕业设计源码+数据库+lw文档+系统+部署
  10. Vue开发实例(11)之el-menu实现左侧菜单导航