文章目录

  • 背景
  • 形态学处理

背景

我在水滴检测时参考了GMM的代码,里面有这样的操作:

# 定义结构元素
kernel = cv2.getStructuringElement(cv2.MORPH_ELLIPSE,(3,3))
# 构造混合高斯模型
model = cv2.createBackgroundSubtractorMOG2(50, 16, detectShadows=False)# 运用高斯模型进行拟合fgmk = model.apply(frame)# 使用前面的卷积,用形态学的开运算进行背景减除fgmk = cv2.morphologyEx(fgmk, cv2.MORPH_OPEN, kernel)

morphology是形态学、形态论的意思。彼时我还不知道什么是形态学,也不知道什么是结构元素,混合高斯模型(当然现在也不甚懂,只听得大佬跟我说什么用GMM进行拟合、然后进行形态学操作。于是哄堂大笑起来,店内外充满了快活的空气…
anyway,这里所做的开运算就是一个形态学操作

形态学处理

后来为了去除阴影的干扰,调了很多参,也试了各种形态学处理,其实不甚懂的,做了操作如下:

    # 运用高斯模型进行拟合#fgmk = model.apply(frame, learningRate=1)fgmk = model.apply(crop)'''形态学运算'''# 形态学的开运算进行背景减除 fgmk = cv2.morphologyEx(fgmk, cv2.MORPH_OPEN, kernel)# 先开后闭fgmk = cv2.morphologyEx(fgmk, cv2.MORPH_OPEN, kernel)fgmk = cv2.morphologyEx(fgmk, cv2.MORPH_CLOSE, kernel)# 闭开fgmk = cv2.morphologyEx(fgmk, cv2.MORPH_CLOSE, kernel)fgmk = cv2.morphologyEx(fgmk, cv2.MORPH_OPEN, kernel)#闭fgmk = cv2.morphologyEx(fgmk, cv2.MORPH_CLOSE, kernel)# 二值化fgmk[fgmk<230] = 0#retval, dst = cv2.threshold(fgmk, 0, 255,  cv2.THRESH_BINARY | cv2.THRESH_OTSU)#retval, fgmk = cv2.threshold(fgmk, 230, 255,  cv2.THRESH_BINARY)

具体的形态学处理可以参考博客:
OpenCV-Python教程(4、形态学处理)
(四)OpenCV-Python学习—形态学处理

opencv 水滴检测 形态学处理相关推荐

  1. 使用Python,OpenCV+OCR检测护照图像中的机器可读区域(MRZ Machine-Readable Zones)

    使用Python,OpenCV+OCR检测护照图像中的机器可读区域(MRZ Machine-Readable Zones) 1. 效果图 2. 原理 3. 源码 参考 这篇博客将介绍如何只使用基本的图 ...

  2. Python OpenCv 车牌检测识别(边缘检测、HSV色彩空间判断)

    Python OpenCv 车牌检测识别 背景 车牌识别在交通.停车等方面有着广泛应用,在网上也有很多种基于OpenCV方案进行识别,本文是综合了两种比较流行的方案,首先是提取出疑似车牌区域的轮廓,然 ...

  3. Pyhton,OpenCV对象检测之——Haar级联人脸及眼睛检测

    Pyhton,OpenCV对象检测之--Haar级联人脸及眼睛检测 1. 效果图 2. 原理 2.1 Haar人脸检测原理 2.2 Haar级联预训练的模型 3. 源码 3.1 图像面部及眼睛检测 3 ...

  4. 如何使用 OpenCV Python 检测颜色

    作者 | 小白 来源 | 小白学视觉 在这篇文章中,我们将看到如何使用 Python 中的 OpenCV 模块检测颜色,进入这个领域的第一步就是安装下面提到的模块. pip install openc ...

  5. OpenCV行人检测

    注:本文翻译自:Pedestrian Detection OpenCV. 你知道OpenCV里面已经内置的行人检测方法吗?在OpenCV里面,有一个预先训练好了的HOG+线性SVM模型,能够对图像和视 ...

  6. OpenCV SURF检测的实例(附完整代码)

    OpenCV SURF检测的实例 OpenCV SURF检测的实例 OpenCV SURF检测的实例 #include <iostream> #include "opencv2/ ...

  7. OpenCV方形检测Square Detection的实例(附完整代码)

    OpenCV方形检测Square Detection的实例 OpenCV方形检测Square Detection的实例 OpenCV方形检测Square Detection的实例 #include & ...

  8. OpenCV BLOB检测和过滤区域的实例(附完整代码)

    OpenCV BLOB检测和过滤区域的实例 OpenCV BLOB检测和过滤区域的实例 OpenCV BLOB检测和过滤区域的实例 #include <opencv2/core.hpp> ...

  9. OpenCV与图像处理学习十七——OpenCV人脸检测(含代码)

    OpenCV与图像处理学习十七--OpenCV人脸检测(含代码) 一.人脸识别概要 1.1 人脸检测 1.2 人脸对齐(Face Alignment) 1.3 人脸特征提取(Face Feature ...

最新文章

  1. numpy 数组 保留小数点后两位小数
  2. DB-Engines 3月数据库排行:排名前十数据库七成分数下降
  3. php解决与处理网站高并发 大流量访问的方法
  4. axis2 默认端口_使用axis2创建webservice
  5. python软件_Python自制照片美颜软件~
  6. cisco学习笔记(2)
  7. Bailian2709 求出e的值【数列求和】(POJ NOI0105-35)
  8. 用户选购计算机可分为,计算机二级《MS Office》选择题练习及答案2017
  9. Mac入门——快捷键
  10. 系统性谈谈软件可靠性——第4讲:软件可靠性测试
  11. Mysql联表update数据
  12. 论文速读之A New Framework Based on Spatio-Temporal Information for Enhancing Compressed Video
  13. 计算机图形学课程设计内容及要求
  14. 试图加载格式不正确的程序 解决方法
  15. 图灵机的逻辑等价形式——lambda演算简介
  16. 图像识别——AlexNet原理解析及实现
  17. 网页龙虎游戏有服务器吗,完美《梦幻诛仙2》今日公测 首开五大新服
  18. 英里 英尺 英寸的换算
  19. java向上转型与向下转型
  20. 【C语言】八道经典指针笔试题(详解)

热门文章

  1. 苹果x和xs买哪个好_买苹果手机好还是安卓手机好?这里有最合适的买法
  2. quartus ii 9.0连接驱动程序USB blaster驱动安装
  3. 基于MATLAB GUI的裂缝检测(识别)系统(支持向量机)
  4. mwArray和Mat之间的转化
  5. 双目立体视觉之立体匹配算法
  6. 王小波的灾难——由《王小波全集》想到的
  7. Android中视频文件的下载和播放
  8. ArcGIS常用工具:union、merge、append、dissolve区别
  9. Dubbo综合实战演练
  10. QinQ技术的原理和配置