二帧差分法

   fgmask = fgbg.apply(gray)

Me

how does it make the 帧间差分?

Cursor

fgbg.apply(gray)是使用帧间差分算法进行帧间差分的代码。帧间差分算法是一种基于像素的运动检测算法,它通过比较相邻帧之间的像素值差异来检测视频中的运动物体。在这个代码中,首先将当前帧转换为灰度图像,然后使用createBackgroundSubtractorMOG2()函数创建一个帧间差分算法对象fgbg,最后使用fgbg.apply(gray)函数对灰度图像进行帧间差分,得到一个二值图像fgmask,其中像素值为255的表示前后两帧之间像素值差异较大的区域,像素值为0的表示前后两帧之间像素值差异较小的区域。

Me

但是我没看到在遍历每一帧的时候输入前一帧和当前帧进行差分计算,如果该计算包含在函数里,请向我说明

Corsor

fgbg.apply(gray)函数内部已经实现了前一帧和当前帧之间的差分计算。具体来说,createBackgroundSubtractorMOG2()函数创建的帧间差分算法对象fgbg会维护一个背景模型,该模型会根据前面的帧计算出当前帧的背景图像,然后将当前帧与背景图像进行差分计算,得到一个二值图像fgmask,其中像素值为255的表示前后两帧之间像素值差异较大的区域,像素值为0的表示前后两帧之间像素值差异较小的区域。因此,fgbg.apply(gray)函数实际上是将当前帧与背景图像进行差分计算,而不是将前一帧和当前帧进行差分计算。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容