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

前言

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

背景消除建模(BSM)

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

  • 图像分割(GMM - 高斯混合模型)

  • 机器学习(KNN - K个最近邻)

相关API

BackgroundSubtractor

BackgroundSubtractorMOG2

BackgroundSubtractorKNN

代码演示

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

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

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

核心代码:

贴上完整的代码:

运行中的截图:

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

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


-END-

长按下方二维码关注微卡智享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vaccae

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值