利用MOG2背景模型提取运动目标的OpenCV代码
2016-08-02 11:25
471 查看
本文思路参考《OpenCV图像处理编程实例》
前面已经写了一篇博文介绍背景建模,详情可见:运动目标的背景建模-混合高斯背景建模和KNN模型建模的OpenCV代码实现,这篇博文利用背景建模,再结合前面学习的图像的基本操作等知识实现视频里车辆目标区域的提取。思路如下:
首先利用双线性插值对源数据图像进行缩小操作以减少运算量,再利用高斯混合模型背景建模得到运动目标区域,然后对目标区域进行形态学闭操作,填充运动目标区域的间断点,再对目标区域求解其连通域并选取连通域的最大外接矩形,最后根据车辆目标的外接矩形应该满足的基本条件在这些最大外接矩形中筛选出最可能是车辆的外接区域,进而提取出运动目标。
车辆运动目标检测代码如下:
代码中用到的视频的下载链接为 https://pan.baidu.com/s/1hrIk2Ew:
运行结果如下图所示:
从图片中不容易看出效果,建议大家还是亲自运行下程序来看效果。这里我再补充描述下吧,最终体现出来的效果是运行结果窗口中只显示了有运动目标的区域。
说明一下:这个程序还不能实现对特定运动目标的提取,它提取的所有运动的目标,以后再研究怎样实现对某一辆车的跟踪吧。
-------------------------------------------
欢迎大家加入图像识别技术交流群:271891601,另外,特别欢迎成都从事图像识别工作的朋友交流,我的QQ号2487872782
前面已经写了一篇博文介绍背景建模,详情可见:运动目标的背景建模-混合高斯背景建模和KNN模型建模的OpenCV代码实现,这篇博文利用背景建模,再结合前面学习的图像的基本操作等知识实现视频里车辆目标区域的提取。思路如下:
首先利用双线性插值对源数据图像进行缩小操作以减少运算量,再利用高斯混合模型背景建模得到运动目标区域,然后对目标区域进行形态学闭操作,填充运动目标区域的间断点,再对目标区域求解其连通域并选取连通域的最大外接矩形,最后根据车辆目标的外接矩形应该满足的基本条件在这些最大外接矩形中筛选出最可能是车辆的外接区域,进而提取出运动目标。
车辆运动目标检测代码如下:
代码中用到的视频的下载链接为 https://pan.baidu.com/s/1hrIk2Ew:
//OpenCV版本3.0.0 //交流QQ2487872782 2016-8-4注:很报歉,此代码目前不能公开发表在博客上,已经删除,希望大家能理解!
运行结果如下图所示:
从图片中不容易看出效果,建议大家还是亲自运行下程序来看效果。这里我再补充描述下吧,最终体现出来的效果是运行结果窗口中只显示了有运动目标的区域。
说明一下:这个程序还不能实现对特定运动目标的提取,它提取的所有运动的目标,以后再研究怎样实现对某一辆车的跟踪吧。
-------------------------------------------
欢迎大家加入图像识别技术交流群:271891601,另外,特别欢迎成都从事图像识别工作的朋友交流,我的QQ号2487872782
相关文章推荐
- Java 数组转换为List,List转数组,要怎么办。
- PHP 线程,进程、并发、并行 的理解
- Java SSLSocket的使用
- QT 5.3开发及移植
- Spring IoC 源码
- 各种编程语言的深度学习库整理
- java 方法的传入参数 参数类型后面的三个点的作用。
- Python函数式实现单例特性
- Qt项目中include了fstream,iostream头文件,但是还是会报:error C2653: “ios”: 不是类或命名空间名称
- rk gpio计算
- eclipse 安装反编译软件jadclipse
- AVL树-C实现
- java基础 -- day01:环境配置
- 四模型代码管理
- helloworld小程序--eclipse
- Lua常用函数
- PHP_SAPI
- Spring、Struts整合
- leetcode-python 第六周
- contentprovider