Python-OpenCV 笔记4 – 形态学操作(Morphological Operations)


1、腐蚀(Erosion)

# 函数原型
erode(src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]])# 实例
kernel = np.ones((5,5),np.uint8)
erosion = cv2.erode(img,kernel,iterations = 1)
  • kernel:核的数值矩阵,可以使用 getStructuringElement.
  • anchor: 核计算的位置, (-1, -1) 表示核的中心位置
  • iterations: 腐蚀的次数

getStructuringElement( ):

# 函数原型
getStructuringElement(shape, ksize[, anchor])# 实例
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(11,11))
  • shape:核的形状类型

    • cv2.MORPH_RECT:矩形
    • cv2.MORPH_ELLIPSE:椭圆形
    • cv2.MORPH_CROSS:交叉形

2、膨胀(Dilation)

# 函数原型
dilate(src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]])# 实例
dilation = cv2.dilate(img,kernel,iterations = 1)

3、开闭运算(Opening)

开运算原理: 先腐蚀后膨胀,分离区域
闭运算原理: 先膨胀后腐蚀,消除孔洞

# 函数原型
cv.morphologyEx(src, op, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]])# 实例
# 开运算
opening = cv2.morphologyEx(img, cv2.MORPH_OPEN, kernel)
# 闭运算
closing = cv2.morphologyEx(img, cv2.MORPH_CLOSE, kernel)
  • op:操作的类型

Python-OpenCV 笔记4 -- 形态学操作(Morphological Operations)相关推荐

  1. python+OpenCv笔记(十三):边缘检测——Sobel检测算子

    Sobel检测算子 概述: Sobel边缘检测算法比较简单,实际应用中效率比canny边缘检测效率要高,但是边缘不如Canny检测的准确,但是很多实际应用的场合,sobel边缘却是首选,Sobel算子 ...

  2. python+OpenCV笔记(二十四):Shi-Tomasi角点检测

    Shi-Tomasi角点检测 原理 python+OpenCV笔记(二十二):角点检测原理(Harris角点检测原理.Shi-Tomasi角点检测原理)https://blog.csdn.net/qq ...

  3. python+OpenCv笔记(七):图像的形态学操作(腐蚀与膨胀、开闭运算、礼帽与黑帽)

    一.腐蚀与膨胀 腐蚀就是原图中高亮的部分被蚕食,效果图拥有比原图更小的高亮区域. 腐蚀的作用是:消除物体边界点,使目标缩小,可以消除小于结构元素的噪声点. 膨胀就是使原图中高亮的部分扩张,效果图拥有比 ...

  4. OpenCV中图像形态学操作

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:视学算法 图像形态学是图像处理的分支学科,在二值图像处理 ...

  5. opencv 实现图像形态学操作 膨胀和腐蚀 开闭运算 形态学梯度 顶帽和黑帽

    图像膨胀和腐蚀 图解 原理及python实现 更多内容:图像膨胀和腐蚀原理及python实现 opencv中膨胀和腐蚀函数 dilation = cv.dilate(img, kernel) # 膨胀 ...

  6. python+OpenCV笔记(三十七):检测运动物体——使用MOG/KNN背景差分器

    目录 一.基本背景差分器 二.MOG背景差分器 流程 代码编写 三.KNN背景差分器 目前,许多运动检测技术都是基于简单的背景差分概念的,即假设摄像头(视频)的曝光和场景中的光照条件是稳定的,当摄像头 ...

  7. OpenCV图像处理-区域分割-形态学操作应用

    分割的结果中通常包含不想要的干扰,如我们感兴趣的物体被干扰了,如由于反射对分割结果造成的干扰,这时,形态学操作提供了特别有用的方法,让我们调整和描述物体的形状.       本文聚焦形态学操作的若干典 ...

  8. 2020.11.01 使用OpenCV进行图像形态学操作(开、闭、梯度)【OpenCV C++】

    进行基础的图像形态学操作练习 (开操作.闭操作.梯度.顶帽.黑帽操作) 源代码: // #include <opencv2/opencv.hpp> #include <iostrea ...

  9. 【Python | opencv+PIL】常见操作(创建、添加帧、绘图、读取等)的效率对比及其优化

    一.背景 本人准备用python做图像和视频编辑的操作,却发现opencv和PIL的效率并不是很理想,并且同样的需求有多种不同的写法并有着不同的效率.见全网并无较完整的效率对比文档,遂决定自己丰衣足食 ...

最新文章

  1. meson 中调用shell script
  2. The prefix context for element context:component-scan is not bound.
  3. 【理论】数据结构----树的基本概念
  4. Oracle rowid和rownum的区别
  5. SQL Server 中的case when then else 中的结果类型
  6. 三段诡异的JavaScript代码,结果出乎意料
  7. 一次磁盘满的系统故障
  8. 光伏组件市场价格战下谁获益?
  9. php当前页面删除处理,php删除记录同时刷新当前页面的实现代码
  10. java判断简体和繁体字_java获取系统语言(区分简体中文和繁体中文)
  11. TI am3352 gpio 驱动
  12. 工业设备软件的研发测试
  13. C#windows竞赛管理系统
  14. [汇编题]将ax中的16位数分成四组,每组四位,分别放入al,bl,cl,dl中
  15. 矩阵等价、相似、合同的定义及性质
  16. 不再年轻的我,终于读懂了成年人的世界,就没有“容易”二字
  17. win10 安装k8s
  18. 2021.7.5-7.12 人工智能行业每周技术动态
  19. Linux设备驱动开发(5.4.58)-3-NEWCHR
  20. 现在好多人耳朵上都爱一直带一副无线耳机,好奇他们都在听什么?

热门文章

  1. CSS实现自适应不同大小屏幕的背景大图
  2. Scala sbt 添加国内镜像
  3. Python error: Unable to find vcvarsall.bat
  4. webpack初学笔记 之 小案例篇demo1
  5. C++ 类的抽象初练
  6. 一千行MySQL学习笔记(十二)
  7. 基于Maven管理的Mapreduce程序下载依赖包到LIB目录
  8. 部署在sae上的servlet程序出现is not a javax.servlet.Servlet 错误
  9. 批处理文件将多台连接的手机安装同一个APP
  10. HNOI2019fish