前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C++ OpenCV视频操作之背景消除建模(BSM)-1

C++ OpenCV视频操作之背景消除建模(BSM)-1

作者头像
Vaccae
发布2019-07-24 13:18:05
8280
发布2019-07-24 13:18:05
举报
文章被收录于专栏:微卡智享微卡智享

前言

前面我有几章是专门设置怎么读取视频操作的文章《C++ OpenCV播放视频及调用摄像头显示》,最近学完了一些形态学的基础操作及特征提取后,我们开始重新学习视频一操作,今天我们先来研究一下背景消除建模BSM。

背景消除建模(BSM)

BS的算法里面一般分为两种

  • 图像分割(GMM - 高斯混合模型)
  • 机器学习(KNN - K个最近邻)

相关API

BackgroundSubtractor

BackgroundSubtractorMOG2

BackgroundSubtractorKNN

代码演示

我们再新建一个项目名为opencv--video1,按照配置属性(VS2017配置OpenCV通用属性),然后在源文件写入#include和main方法

我们直接加载了一个本地的视频 ,下面这个就是本地加载的原视频,从视频中可以看出我的镜头是没动了,然后手就出来了。

今天我们来先看看高斯混合模型的算法BackgroundSubtractorMOG2

核心代码:

贴上完整的代码:

运行中的截图:

接下来我们看看整个视频的运行效果:

注:如果我们录的镜头在不停的移动的话,这个背景检测效果就基本作用不大了,所以这个还是要求必须是固定的镜头效果,才能检测的比较准确,应该后面的学习中会有比较不错的解决方案。


-END-

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-01-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 微卡智享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档