OpenCV 4.11.0
开源计算机视觉
加载中…
搜索中…
无匹配项
cv::BackgroundSubtractorMOG2 类参考抽象

基于高斯混合模型的背景/前景分割算法更多…

#include <opencv2/video/background_segm.hpp>

cv::BackgroundSubtractorMOG2 的协作图

公共成员函数

virtual void apply (InputArray image, OutputArray fgmask, double learningRate=-1) CV_OVERRIDE=0
 计算前景掩码。
 
virtual double getBackgroundRatio () const =0
 返回算法的“背景比率”参数。
 
virtual double getComplexityReductionThreshold () const =0
 返回复杂度降低阈值。
 
virtual bool getDetectShadows () const =0
 返回阴影检测标志。
 
virtual int getHistory () const =0
 返回影响背景模型的最后帧数。
 
virtual int getNMixtures () const =0
 返回背景模型中高斯分量的数量。
 
virtual double getShadowThreshold () const =0
 返回阴影阈值。
 
virtual int getShadowValue () const =0
 返回阴影值。
 
virtual double getVarInit () const =0
 返回每个高斯分量的初始方差。
 
virtual double getVarMax () const =0
 
virtual double getVarMin () const =0
 
virtual double getVarThreshold () const =0
 返回像素模型匹配的方差阈值。
 
virtual double getVarThresholdGen () const =0
 返回用于生成新混合分量的像素模型匹配的方差阈值。
 
virtual void setBackgroundRatio (double ratio)=0
 设置算法的“背景比率”参数。
 
virtual void setComplexityReductionThreshold (double ct)=0
 设置复杂度降低阈值。
 
virtual void setDetectShadows (bool detectShadows)=0
 启用或禁用阴影检测。
 
virtual void setHistory (int history)=0
 设置影响背景模型的最后帧数。
 
virtual void setNMixtures (int nmixtures)=0
 设置背景模型中高斯分量的数量。
 
virtual void setShadowThreshold (double threshold)=0
 设置阴影阈值。
 
virtual void setShadowValue (int value)=0
 设置阴影值。
 
virtual void setVarInit (double varInit)=0
 设置每个高斯分量的初始方差。
 
virtual void setVarMax (double varMax)=0
 
virtual void setVarMin (double varMin)=0
 
virtual void setVarThreshold (double varThreshold)=0
 设置像素模型匹配的方差阈值。
 
virtual void setVarThresholdGen (double varThresholdGen)=0
 设置用于生成新混合分量的像素模型匹配的方差阈值。
 
- 从 cv::BackgroundSubtractor 继承的公共成员函数
virtual void getBackgroundImage (OutputArray backgroundImage) const =0
 计算背景图像。
 
- 从 cv::Algorithm 继承的公共成员函数
 Algorithm ()
 
virtual ~Algorithm ()
 
virtual void clear ()
 清除算法状态。
 
virtual bool empty () const
 如果Algorithm为空(例如,在开始时或读取失败后),则返回true。
 
virtual String getDefaultName () const
 
virtual void read (const FileNode &fn)
 从文件存储中读取算法参数。
 
virtual void save (const String &filename) const
 
void write (const Ptr< FileStorage > &fs, const String &name=String()) const
 
virtual void write (FileStorage &fs) const
 将算法参数存储到文件存储中。
 
void write (FileStorage &fs, const String &name) const
 

其他继承成员

- 从 cv::Algorithm 继承的静态公共成员函数
template<typename _Tp >
static Ptr< _Tpload (const String &filename, const String &objname=String())
 从文件中加载算法。
 
template<typename _Tp >
static Ptr< _TploadFromString (const String &strModel, const String &objname=String())
 从字符串加载算法。
 
template<typename _Tp >
static Ptr< _Tpread (const FileNode &fn)
 从文件节点读取算法。
 
- 继承自 cv::Algorithm 的受保护成员函数
void writeFormat (FileStorage &fs) const
 

详细描述

基于高斯混合模型的背景/前景分割算法

该类实现了[325][324]中描述的高斯混合模型背景减除方法。

成员函数文档

◆ apply()

virtual void cv::BackgroundSubtractorMOG2::apply ( 输入数组 图像,
输出数组 前景掩码,
双精度浮点数 learningRate = -1 )
纯虚函数
Python
cv.BackgroundSubtractorMOG2.apply(image[, fgmask[, learningRate]]) -> 前景掩码

计算前景掩码。

参数
图像下一视频帧。浮点型帧将直接使用,无需缩放,取值范围为\([0,255]\)。
前景掩码输出的前景掩码,为8位二值图像。
学习率0到1之间的值,表示背景模型学习的速度。负参数值使算法使用某种自动选择的学习率。0表示背景模型根本不更新,1表示背景模型完全从最后一帧重新初始化。

实现 cv::BackgroundSubtractor.

◆ getBackgroundRatio()

virtual double cv::BackgroundSubtractorMOG2::getBackgroundRatio ( ) const
纯虚函数
Python
cv.BackgroundSubtractorMOG2.getBackgroundRatio() -> 返回值

返回算法的“背景比率”参数。

如果前景像素保持近似恒定的值,大约为 backgroundRatio*history 帧,则将其视为背景并将其添加到模型作为新组件的中心。它对应于论文中的 TB 参数。

◆ getComplexityReductionThreshold()

virtual double cv::BackgroundSubtractorMOG2::getComplexityReductionThreshold ( ) const
纯虚函数
Python
cv.BackgroundSubtractorMOG2.getComplexityReductionThreshold() -> 返回值

返回复杂度降低阈值。

此参数定义了需要接受的样本数量以证明组件的存在。CT=0.05 是所有样本的默认值。通过设置 CT=0,您可以获得一个与标准 Stauffer&Grimson 算法非常相似的算法。

◆ getDetectShadows()

virtual bool cv::BackgroundSubtractorMOG2::getDetectShadows ( ) const
纯虚函数
Python
cv.BackgroundSubtractorMOG2.getDetectShadows() -> 返回值

返回阴影检测标志。

如果为真,则算法检测阴影并对其进行标记。有关详细信息,请参阅 createBackgroundSubtractorMOG2。

◆ getHistory()

virtual int cv::BackgroundSubtractorMOG2::getHistory ( ) const
纯虚函数
Python
cv.BackgroundSubtractorMOG2.getHistory() -> 返回值

返回影响背景模型的最后帧数。

◆ getNMixtures()

virtual int cv::BackgroundSubtractorMOG2::getNMixtures ( ) const
纯虚函数
Python
cv.BackgroundSubtractorMOG2.getNMixtures() -> 返回值

返回背景模型中高斯分量的数量。

◆ getShadowThreshold()

virtual double cv::BackgroundSubtractorMOG2::getShadowThreshold ( ) const
纯虚函数
Python
cv.BackgroundSubtractorMOG2.getShadowThreshold() -> 返回值

返回阴影阈值。

如果像素是背景的较暗版本,则检测到阴影。阴影阈值(论文中的 Tau)是定义阴影可以暗多少的阈值。Tau=0.5 表示如果像素暗度超过两倍,则它不是阴影。参见 Prati, Mikic, Trivedi 和 Cucchiara,《检测移动阴影……》,IEEE PAMI,2003。

◆ getShadowValue()

virtual int cv::BackgroundSubtractorMOG2::getShadowValue ( ) const
纯虚函数
Python
cv.BackgroundSubtractorMOG2.getShadowValue() -> 返回值

返回阴影值。

阴影值是在前景掩码中用于标记阴影的值。默认值为 127。掩码中的值 0 始终表示背景,255 表示前景。

◆ getVarInit()

virtual double cv::BackgroundSubtractorMOG2::getVarInit ( ) const
纯虚函数
Python
cv.BackgroundSubtractorMOG2.getVarInit() -> 返回值

返回每个高斯分量的初始方差。

◆ getVarMax()

virtual double cv::BackgroundSubtractorMOG2::getVarMax ( ) const
纯虚函数
Python
cv.BackgroundSubtractorMOG2.getVarMax() -> 返回值

◆ getVarMin()

virtual double cv::BackgroundSubtractorMOG2::getVarMin ( ) const
纯虚函数
Python
cv.BackgroundSubtractorMOG2.getVarMin() -> 返回值

◆ getVarThreshold()

virtual double cv::BackgroundSubtractorMOG2::getVarThreshold ( ) const
纯虚函数
Python
cv.BackgroundSubtractorMOG2.getVarThreshold() -> 返回值

返回像素模型匹配的方差阈值。

决定样本是否由背景模型很好地描述的主要平方马氏距离阈值。与论文中的 Cthr 相关。

◆ getVarThresholdGen()

virtual double cv::BackgroundSubtractorMOG2::getVarThresholdGen ( ) const
纯虚函数
Python
cv.BackgroundSubtractorMOG2.getVarThresholdGen() -> 返回值

返回用于生成新混合分量的像素模型匹配的方差阈值。

帮助决定样本是否接近现有组件的平方马氏距离阈值(对应于论文中的 Tg)。如果像素不接近任何组件,则将其视为前景或添加为新组件。3 sigma => Tg=3*3=9 为默认值。较小的 Tg 值会生成更多组件。较高的 Tg 值可能会导致组件数量较少,但它们可能会变得太大。

◆ setBackgroundRatio()

virtual void cv::BackgroundSubtractorMOG2::setBackgroundRatio ( 双精度浮点数 比率)
纯虚函数
Python
cv.BackgroundSubtractorMOG2.setBackgroundRatio(比率) ->

设置算法的“背景比率”参数。

◆ setComplexityReductionThreshold()

virtual void cv::BackgroundSubtractorMOG2::setComplexityReductionThreshold ( 双精度浮点数 ct)
纯虚函数
Python
cv.BackgroundSubtractorMOG2.setComplexityReductionThreshold(ct) ->

设置复杂度降低阈值。

◆ setDetectShadows()

virtual void cv::BackgroundSubtractorMOG2::setDetectShadows ( 布尔值 检测阴影)
纯虚函数
Python
cv.BackgroundSubtractorMOG2.setDetectShadows(检测阴影) ->

启用或禁用阴影检测。

◆ setHistory()

virtual void cv::BackgroundSubtractorMOG2::setHistory ( 整数 历史帧数)
纯虚函数
Python
cv.BackgroundSubtractorMOG2.setHistory(历史帧数) ->

设置影响背景模型的最后帧数。

◆ setNMixtures()

virtual void cv::BackgroundSubtractorMOG2::setNMixtures ( 整数 混合高斯模型个数)
纯虚函数
Python
cv.BackgroundSubtractorMOG2.setNMixtures(混合高斯模型个数) ->

设置背景模型中高斯分量的数量。

需要重新初始化模型以预留内存。

◆ setShadowThreshold()

virtual void cv::BackgroundSubtractorMOG2::setShadowThreshold ( 双精度浮点数 阈值)
纯虚函数
Python
cv.BackgroundSubtractorMOG2.setShadowThreshold(阈值) ->

设置阴影阈值。

◆ setShadowValue()

virtual void cv::BackgroundSubtractorMOG2::setShadowValue ( 整数 )
纯虚函数
Python
cv.BackgroundSubtractorMOG2.setShadowValue() ->

设置阴影值。

◆ setVarInit()

virtual void cv::BackgroundSubtractorMOG2::setVarInit ( 双精度浮点数 方差初始化值)
纯虚函数
Python
cv.BackgroundSubtractorMOG2.setVarInit(方差初始化值) ->

设置每个高斯分量的初始方差。

◆ setVarMax()

虚函数 void cv::BackgroundSubtractorMOG2::setVarMax ( 双精度浮点数 varMax)
纯虚函数
Python
cv.BackgroundSubtractorMOG2.setVarMax(varMax) ->

◆ setVarMin()

虚函数 void cv::BackgroundSubtractorMOG2::setVarMin ( 双精度浮点数 varMin)
纯虚函数
Python
cv.BackgroundSubtractorMOG2.setVarMin(varMin) ->

◆ setVarThreshold()

虚函数 void cv::BackgroundSubtractorMOG2::setVarThreshold ( 双精度浮点数 varThreshold)
纯虚函数
Python
cv.BackgroundSubtractorMOG2.setVarThreshold(varThreshold) ->

设置像素模型匹配的方差阈值。

◆ setVarThresholdGen()

虚函数 void cv::BackgroundSubtractorMOG2::setVarThresholdGen ( 双精度浮点数 varThresholdGen)
纯虚函数
Python
cv.BackgroundSubtractorMOG2.setVarThresholdGen(varThresholdGen) ->

设置用于生成新混合分量的像素模型匹配的方差阈值。


此类的文档由以下文件生成: