基于背景建模方法处理视频(常用的函数)

来源:互联网 发布:单片机usb转串口 编辑:程序博客网 时间:2024/05/20 00:14

1、将帧叠加到累积器(accumulator)中

C++: void accumulate(InputArray src, InputOutputArray dst, InputArray mask=noArray() )

C: void cvAcc(const CvArr* image, CvArr* sum, const CvArr* mask=NULL )

Parameters:
  • src – Input image as 1- or 3-channel, 8-bit or 32-bit floating point.
  • dst – Accumulator image with the same number of channels as input image, 32-bit or 64-bit floating-point.
  • mask – Optional operation mask.

The function adds src or some of its elements to dst :

\texttt{dst} (x,y)  \leftarrow \texttt{dst} (x,y) +  \texttt{src} (x,y)  \quad \text{if} \quad \texttt{mask} (x,y)  \ne 0

The function supports multi-channel images. Each channel is processed independently(函数支持多通道图像。每个通道单独处理)。

2、用来更新移动平均

C++: void accumulateWeighted(InputArray src, InputOutputArray dst, double alpha,InputArray mask=noArray() )

C: void cvRunningAvg(const CvArr* image, CvArr* acc, double alpha, const CvArr* mask=NULL )

Parameters:

  • src – Input image as 1- or 3-channel, 8-bit or 32-bit floating point.
  • dst – Accumulator image with the same number of channels as input image, 32-bit or 64-bit floating-point.
  • alpha – Weight of the input image.
  • mask – Optional operation mask.

The function calculates the weighted sum of the input image src and the accumulator dst so that dst becomes a running average of a frame sequence:

\texttt{dst} (x,y)  \leftarrow (1- \texttt{alpha} )  \cdot \texttt{dst} (x,y) +  \texttt{alpha} \cdot \texttt{src} (x,y)  \quad \text{if} \quad \texttt{mask} (x,y)  \ne 0


0 0