平均背景法的基本思路是计算每个像素的平均值和标准差作为它的背景模型,利用平均值和标准差来描述每一个像素的变化。平均背景法使用四个OpenCV函数:
cvAcc() 累积图像
cvAbsDiff() 计算一定时间内的每帧图像之差
cvInRange() 将图像分割成前景区域和背景区域
cvOr() 将不同的彩色通道图像合成为一个掩模?图像
待实现函数:
void AllocateImages(IplImage *I); //为图像分配空间
void DeallocateImages(); //释放内存
void accumulateBackground(IplImage *I, int number=0); //累积背景图像和每一帧图像差值的绝对值
void scaleHigh(float scale = HIGH_SCALE_NUM, int num = 0); //基于每一帧图像平均绝对差设置阈值的有效函数
void scaleLow(float scale = LOW_SCALE_NUM, int num = 0);
void createModelsfromStats(); //积累足够多的帧图像之后,将其转化为一个背景的统计模型,也就是计算每一个像素的均值和方差
void backgroundDiff(IplImage *I,IplImage *Imask, int num = 0); //有了自己的背景模型,同时给出了高、低阈值,就能用此函数将图像分割成前景(不能被背景模型“解释”的图像部分)和背景(在背景模型中,任何在高低阈值之间的图像部分)