• 大小: 3.57MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-12
  • 语言: C/C++
  • 标签: 非参数  背景建模  

资源简介

本文件是一个完整的工程文件,基于VC6.0开发的,里面的程序都是本人已经调试好,并有非常完整详细的注释,还包括非参数背景建模的经典论文《Background and Foreground Modeling Using Nonparametric Kernel Density Estimation for Visual Surveillance》。本程序是在AhmedElgammal写的类基础之上修改的!

资源截图

代码片段和文件信息

/*
 *
 * Copyright 2001 by Ahmed Elgammal All  rights reserved.
 *
 * Permission to use copy  or modify this software and  its documentation
 * for  educational  and  research purposes only and without fee  is hereby
 * granted provided  that this copyright notice and the original authors‘s
 * name appear  on all copies and supporting documentation.  If individual
 * files are  separated from  this  distribution directory  structure this
 * copyright notice must be included.  For any other uses of this software
 * in original or  modified form including but not limited to distribution
 * in whole or in  part specific  prior permission  must be  obtained from
 * Author or UMIACS.  These programs shall not  be  used rewritten or  
 * adapted as  the basis  of  a commercial  software  or  hardware product 
 * without first obtaining appropriate licenses  from Author. 
 * Other than these cases no part of this software may be used or
 * distributed without written permission of the author.
 *
 * Neither the author nor UMIACS make any representations about the 
 * suitability of this software for any purpose.  It is provided 
 * “as is“ without express or implied warranty.
 *
 * Ahmed Elgammal
 * 
 * University of Maryland at College Park
 * UMIACS
 * A.V. Williams Bldg. 
 * CollegePark MD 20742
 * E-mail:  elgammal@umiacs.umd.edu
 *
 **/

//对于不同的sega,实现了表。
//并把各点的值相加了

#include “KernelTable.h“
#include 

#define PI 3.14159


KernelLUTable::KernelLUTable(int KernelHalfWidth
 double Segmamin
 double Segmamax
 int Segmabins)

{
double C1C2vsegmasum;
int binb;

minsegma=Segmamin;
maxsegma=Segmamax;
segmabins=Segmabins;
tablehalfwidth=KernelHalfWidth;


// Generate the Kernel

// allocate memory for the Kernal Table
kerneltable=new double[segmabins*(2*KernelHalfWidth+1)];
kernelsums= new double[segmabins];

double segmastep=(maxsegma-minsegma)/segmabins;//!!我觉得源程序,这里有点问题。应为segmabins-1
// double segmastep=(maxsegma-minsegma)/(segmabins-1);
double y;

//Kerneltable中一共存了segmabins个高斯分布。每一个高斯分布,有2*KernelHalfWidth+1个点
for (segma=minsegma bin=0;bin < segmabins;segma+=segmastepbin++) 
{
C1=1/(sqrt(2*PI)*segma);
C2=-1/(2*segma*segma);

b=(2*KernelHalfWidth+1)*bin;
sum=0;
for (int x=0;x<=KernelHalfWidth;x++) {
y=x/1.0;   //变为小数
v=C1*exp(C2*y*y);
kerneltable[b+KernelHalfWidth+x]=v;
kerneltable[b+KernelHalfWidth-x]=v;
sum+=2*v; //把所有的结果累加
}

sum-=C1;  //把多算的那个点减掉

kernelsums[bin]=sum;//将第bin个高斯分布中的2*KernelHalfWidth+1个点对应的值累加起来

// Normailization
for (x=0;x<=KernelHalfWidth;x++) {
v=kerneltable[b+KernelHalfWidth+x]/sum;
kerneltable[b+KernelHalfWidth+x]=v;
kerneltable[b+KernelHalfWidth-x]=v;

}
}

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     406528  2010-10-09 16:30  程序AhmedElgammal\10[1].1.1.20.215.pdf

     文件       4909  2011-03-25 10:15  程序AhmedElgammal\AhmedElgammal.dsp

     文件        534  2011-01-13 20:33  程序AhmedElgammal\AhmedElgammal.dsw

     文件      91136  2011-03-29 14:54  程序AhmedElgammal\AhmedElgammal.ncb

     文件      56832  2011-03-29 14:54  程序AhmedElgammal\AhmedElgammal.opt

     文件       1154  2011-03-29 14:54  程序AhmedElgammal\AhmedElgammal.plg

     文件       1131  2011-03-25 09:57  程序AhmedElgammal\Controls.h

     文件    5342208  2011-03-29 14:53  程序AhmedElgammal\Debug\AhmedElgammal.bsc

     文件     225397  2011-03-29 14:43  程序AhmedElgammal\Debug\AhmedElgammal.exe

     文件     410072  2011-03-29 14:54  程序AhmedElgammal\Debug\AhmedElgammal.ilk

     文件    7366376  2011-03-29 14:43  程序AhmedElgammal\Debug\AhmedElgammal.pch

     文件     549888  2011-03-29 14:43  程序AhmedElgammal\Debug\AhmedElgammal.pdb

     文件       4692  2011-03-28 19:15  程序AhmedElgammal\Debug\KernelTable.obj

     文件          0  2011-03-28 19:15  程序AhmedElgammal\Debug\KernelTable.sbr

     文件      31202  2011-03-29 14:53  程序AhmedElgammal\Debug\main.obj

     文件          0  2011-03-29 14:53  程序AhmedElgammal\Debug\main.sbr

     文件          0  2011-03-25 10:15  程序AhmedElgammal\Debug\NPBGBuild.sbr

     文件       6613  2011-03-29 13:01  程序AhmedElgammal\Debug\NPBGmodel.obj

     文件          0  2011-03-29 13:01  程序AhmedElgammal\Debug\NPBGmodel.sbr

     文件      38186  2011-03-29 14:42  程序AhmedElgammal\Debug\NPBGSubtractor.obj

     文件      38336  2011-03-29 13:01  程序AhmedElgammal\Debug\NPBGSubtractor.obj.enc

     文件          0  2011-03-29 14:42  程序AhmedElgammal\Debug\NPBGSubtractor.sbr

     文件     238592  2011-03-29 14:54  程序AhmedElgammal\Debug\vc60.idb

     文件     143360  2011-03-29 14:53  程序AhmedElgammal\Debug\vc60.pdb

     文件       2931  2011-03-28 18:40  程序AhmedElgammal\KernelTable.cpp

     文件       1949  2011-03-22 19:42  程序AhmedElgammal\KernelTable.h

     文件       4659  2011-03-29 14:53  程序AhmedElgammal\main.cpp

     文件       3643  2011-03-25 10:14  程序AhmedElgammal\NPBGBuild.cpp

     文件       3615  2011-03-29 09:46  程序AhmedElgammal\NPBGmodel.cpp

     文件       2963  2002-02-05 16:52  程序AhmedElgammal\NPBGmodel.h

............此处省略8个文件信息

评论

共有 条评论