资源简介
本文件是一个完整的工程文件,基于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个文件信息
- 上一篇:TeeChart8+_ActiveX 破解版带源码
- 下一篇:正规式到NFA的转换
评论
共有 条评论