opencv 水滴检测 形态学处理
文章目录
- 背景
- 形态学处理
背景
我在水滴检测时参考了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 水滴检测 形态学处理相关推荐
- 使用Python,OpenCV+OCR检测护照图像中的机器可读区域(MRZ Machine-Readable Zones)
使用Python,OpenCV+OCR检测护照图像中的机器可读区域(MRZ Machine-Readable Zones) 1. 效果图 2. 原理 3. 源码 参考 这篇博客将介绍如何只使用基本的图 ...
- Python OpenCv 车牌检测识别(边缘检测、HSV色彩空间判断)
Python OpenCv 车牌检测识别 背景 车牌识别在交通.停车等方面有着广泛应用,在网上也有很多种基于OpenCV方案进行识别,本文是综合了两种比较流行的方案,首先是提取出疑似车牌区域的轮廓,然 ...
- Pyhton,OpenCV对象检测之——Haar级联人脸及眼睛检测
Pyhton,OpenCV对象检测之--Haar级联人脸及眼睛检测 1. 效果图 2. 原理 2.1 Haar人脸检测原理 2.2 Haar级联预训练的模型 3. 源码 3.1 图像面部及眼睛检测 3 ...
- 如何使用 OpenCV Python 检测颜色
作者 | 小白 来源 | 小白学视觉 在这篇文章中,我们将看到如何使用 Python 中的 OpenCV 模块检测颜色,进入这个领域的第一步就是安装下面提到的模块. pip install openc ...
- OpenCV行人检测
注:本文翻译自:Pedestrian Detection OpenCV. 你知道OpenCV里面已经内置的行人检测方法吗?在OpenCV里面,有一个预先训练好了的HOG+线性SVM模型,能够对图像和视 ...
- OpenCV SURF检测的实例(附完整代码)
OpenCV SURF检测的实例 OpenCV SURF检测的实例 OpenCV SURF检测的实例 #include <iostream> #include "opencv2/ ...
- OpenCV方形检测Square Detection的实例(附完整代码)
OpenCV方形检测Square Detection的实例 OpenCV方形检测Square Detection的实例 OpenCV方形检测Square Detection的实例 #include & ...
- OpenCV BLOB检测和过滤区域的实例(附完整代码)
OpenCV BLOB检测和过滤区域的实例 OpenCV BLOB检测和过滤区域的实例 OpenCV BLOB检测和过滤区域的实例 #include <opencv2/core.hpp> ...
- OpenCV与图像处理学习十七——OpenCV人脸检测(含代码)
OpenCV与图像处理学习十七--OpenCV人脸检测(含代码) 一.人脸识别概要 1.1 人脸检测 1.2 人脸对齐(Face Alignment) 1.3 人脸特征提取(Face Feature ...
最新文章
- numpy 数组 保留小数点后两位小数
- DB-Engines 3月数据库排行:排名前十数据库七成分数下降
- php解决与处理网站高并发 大流量访问的方法
- axis2 默认端口_使用axis2创建webservice
- python软件_Python自制照片美颜软件~
- cisco学习笔记(2)
- Bailian2709 求出e的值【数列求和】(POJ NOI0105-35)
- 用户选购计算机可分为,计算机二级《MS Office》选择题练习及答案2017
- Mac入门——快捷键
- 系统性谈谈软件可靠性——第4讲:软件可靠性测试
- Mysql联表update数据
- 论文速读之A New Framework Based on Spatio-Temporal Information for Enhancing Compressed Video
- 计算机图形学课程设计内容及要求
- 试图加载格式不正确的程序 解决方法
- 图灵机的逻辑等价形式——lambda演算简介
- 图像识别——AlexNet原理解析及实现
- 网页龙虎游戏有服务器吗,完美《梦幻诛仙2》今日公测 首开五大新服
- 英里 英尺 英寸的换算
- java向上转型与向下转型
- 【C语言】八道经典指针笔试题(详解)