高斯背景建模学习 icvUpdatePartialWindow()
来源:互联网 发布:node npm init 编辑:程序博客网 时间:2024/05/22 13:13
//更新局部窗口,当我们设时间窗为500帧时,2~499帧的更新方法,与500帧的更新不同点为alpha和pho 不一样
static void icvUpdatePartialWindow( double* src_pixel, int nChannels, int* match, CvGaussBGPoint* g_point, const CvGaussBGStatModelParams *bg_model_params )
{
int k, m;
int window_current = 0;
for( k = 0; k < bg_model_params->n_gauss; k++ )
window_current += g_point->g_values[k].match_sum;//计算匹配的高斯模型个数和
for( k = 0; k < bg_model_params->n_gauss; k++ )
{
g_point->g_values[k].match_sum += match[k];
double learning_rate_weight = (1.0/((double)window_current + 1.0)); //increased by one since sum
g_point->g_values[k].weight = g_point->g_values[k].weight +
(learning_rate_weight*((double)match[k] - g_point->g_values[k].weight));
if( g_point->g_values[k].match_sum > 0 && match[k] )
{
double learning_rate_gaussian = (double)match[k]/((double)g_point->g_values[k].match_sum);
for( m = 0; m < nChannels; m++ )
{
const double tmpDiff = src_pixel[m] - g_point->g_values[k].mean[m];
g_point->g_values[k].mean[m] = g_point->g_values[k].mean[m] +
(learning_rate_gaussian*tmpDiff);
g_point->g_values[k].variance[m] = g_point->g_values[k].variance[m]+
(learning_rate_gaussian*((tmpDiff*tmpDiff) - g_point->g_values[k].variance[m]));
}
}
}
}
- 高斯背景建模学习 icvUpdatePartialWindow()
- 高斯背景建模学习 icvUpdateFullWindow()
- 高斯背景建模学习 icvUpdateFullNoMatch()
- 高斯背景建模学习 icvUpdateGaussianBGModel()
- 高斯背景建模的学习
- 高斯背景建模
- 高斯背景建模
- 高斯背景建模
- 高斯背景建模
- 混合高斯背景建模(opecv)
- opencv 高斯背景建模
- 高斯背景建模程序
- 混合高斯背景建模
- 混合高斯背景建模
- 混合高斯背景建模
- 高斯背景建模程序
- 高斯建模去除背景
- 混合高斯背景建模
- 函数调用方式介绍
- 初入ASM
- 【算法总结】垃圾收集算法
- 堆与栈的区别
- 在嵌入式系统中使用ActiveX控件的疑问
- 高斯背景建模学习 icvUpdatePartialWindow()
- ZZ泊松分酒问题
- 数据库正在恢复
- BS关于模板,对新手的三点建议:
- 让驱动自己被加载
- Delphi获取程序自身路径
- Delphi里去掉字符串中空格的函数
- 函数调用方式总结
- 更新库存数据,先进先出存储过程