• 大小: 4.43MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-12
  • 语言: 其他
  • 标签:

资源简介

运用核密度自适应阈值背景建模算法对运动目标进行检测,文档加代码,实现效果较好

资源截图

代码片段和文件信息

// Capture.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h“
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;

#pragma comment (lib“cv.lib“)
#pragma comment (lib“cxcore.lib“)
#pragma comment (lib“highgui.lib“)
#pragma comment (lib“cvaux.lib“)

#define B(imageij) ((uchar*)(image->imageData + image->widthStep*j))[i*3]  
#define G(imageij) ((uchar*)(image->imageData + image->widthStep*j))[i*3+1]
#define R(imageij) ((uchar*)(image->imageData + image->widthStep*j))[i*3+2]
#define I(imageij) ((uchar*)(image->imageData + image->widthStep*j))[i]

#define N 22

int main(int argcchar **argv)
{
CvCapture *cap=NULL;
IplImage *pImage[N]={NULL};     //从视频中得到前20帧第21帧为当前帧
IplImage *pImageGray[N]={NULL}; //前20帧的灰度图,用来建密度函数第21帧为当前帧
IplImage *src=NULL;    //
IplImage *dst=NULL;
int nframe=0;
int m[N-2]; //用来存放20帧差的绝对值
double mid=0;     //20帧差中间值
double thita=0.0; //窗口大小
double thita1=4.0;
double th=0.0;  //分割阈值
double reslut=0.0;

int shi=0;
double caizhi=0.0;
cvNamedWindow(“video1“ 1);
cvNamedWindow(“video2“ 1);
cvMoveWindow(“video1“ 30 0);
cvMoveWindow(“video2“ 290 0);
int ijk;
if( !( cap = cvCaptureFromFile(“video.long.raw.avi“) ))
/*if( !( cap = cvCaptureFromFile(“a04.avi“) ))*/
{
fprintf(stderr “Can not open video file\n“);
return -2;
}
while(cap)
{
nframe++;
// pImage=cvQueryframe(cap);
src=cvQueryframe(cap);
if(nframe==1)
dst=cvCreateImage(cvGetSize(src)IPL_DEPTH_8U1);
cout<ame< if(nframe {
pImage[nframe]=cvCloneImage(src);
pImageGray[nframe]=cvCreateImage(cvGetSize(pImage[nframe])IPL_DEPTH_8U1);
cvCvtColor(pImage[nframe]pImageGray[nframe]CV_BGR2GRAY);
cvFlip(pImageGray[nframe]pImageGray[nframe]0);
//for(j=0;j<3;j++){  //对每个点进行判断
// for (i=300;iwidth;i++)
// {
// shi=I(pImageGray[nframe]ij);
// cout< // }
// cout< //}

}
else{

pImageGray[N-1]=cvCreateImage(cvGetSize(src)IPL_DEPTH_8U1);
cvCvtColor(srcpImageGray[N-1]CV_BGR2GRAY);
cvFlip(pImageGray[N-1]pImageGray[N-1]0);
//for(j=0;jheight;j++){  //对每个点进行判断
// for (i=0;iwidth;i++){
// th=0.0;
// reslut=0.0;
// for(k=1;k // m[k]=abs(I(pImageGray[k]ij)-I(pImageGray[k+1]ij));  //计算帧差m[20]
// }
// /*for(k=1;k // cout< // cout< // for(int a=1;a // int k1=a;
// for(int b=a+1;b<21;b++)
// if(m[k1]>m[b]) k1=b;
// m[a]=m[k1];                   //求得中间值
// }
// mid=(m[N/2]+m[N/2+1]);
// //cout< // thita=mid/(0.68*1.414);           //计算得到窗口宽度
// th=0.015/thita;                   //计算得到阈值
// for(int a1=1;a1 // reslut+=exp(-(I(pImageGray[N-1]

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

     文件     406528  2010-04-28 14:51  Capture\Background and foreground modeling using nonparametric kernel density estimation for visual surveillane.pdf

     文件       5183  2010-05-26 21:23  Capture\Capture\Capture.cpp

     文件       4498  2010-05-25 18:33  Capture\Capture\Capture.vcproj

     文件       1427  2010-05-31 14:27  Capture\Capture\Capture.vcproj.01554C3E9EC245B.Administrator.user

     文件       1183  2010-05-25 18:33  Capture\Capture\ReadMe.txt

     文件        212  2010-05-25 18:33  Capture\Capture\stdafx.cpp

     文件        233  2010-05-25 18:33  Capture\Capture\stdafx.h

     文件        498  2010-05-25 18:33  Capture\Capture\targetver.h

     文件       5150  2010-05-26 21:03  Capture\Capture\ve-17A.tmp

     文件    9227264  2010-05-31 14:27  Capture\Capture.ncb

     文件        887  2010-05-25 18:33  Capture\Capture.sln

    ..A..H.     15360  2010-05-31 14:27  Capture\Capture.suo

     文件    2172246  2014-02-06 17:00  Capture\一种基于切比雪夫不等式的自适应阈值背景建模算法_张琨.pdf

     目录          0  2010-05-31 14:13  Capture\Capture

     目录          0  2017-12-26 14:31  Capture

----------- ---------  ---------- -----  ----

             11840669                    15


评论

共有 条评论