资源简介
核密度估计算法背景建模。有成功运行的代码和测试视频。有算法讲解论文
代码片段和文件信息
// Capturekernal.cpp : 定义控制台应用程序的入口点。
//
// 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(“test1.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
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 5259 2016-06-26 21:07 核密度估计算法\Capturekernal\Capturekernal.cpp
文件 4511 2016-06-26 20:58 核密度估计算法\Capturekernal\Capturekernal.vcxproj
文件 1317 2016-06-26 20:54 核密度估计算法\Capturekernal\Capturekernal.vcxproj.filters
文件 143 2016-06-26 20:54 核密度估计算法\Capturekernal\Capturekernal.vcxproj.user
文件 381 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\Capturekernal.exe.intermediate.manifest
文件 98 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\Capturekernal.lastbuildstate
文件 3931 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\Capturekernal.log
文件 146757 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\Capturekernal.obj
文件 1179648 2016-06-26 20:54 核密度估计算法\Capturekernal\Debug\Capturekernal.pch
文件 713 2016-06-26 20:54 核密度估计算法\Capturekernal\Debug\Capturekernal.vcxprojResolveAssemblyReference.cache
文件 0 2016-06-26 20:54 核密度估计算法\Capturekernal\Debug\Capturekernal.write.1.tlog
文件 1738 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\cl.command.1.tlog
文件 17876 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\CL.read.1.tlog
文件 1238 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\CL.write.1.tlog
文件 2622 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\li
文件 6440 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\li
文件 1076 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\li
文件 574 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\mt.command.1.tlog
文件 414 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\mt.read.1.tlog
文件 414 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\mt.write.1.tlog
文件 12299 2016-06-26 20:54 核密度估计算法\Capturekernal\Debug\stdafx.obj
文件 674816 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\vc100.idb
文件 1372160 2016-06-26 21:07 核密度估计算法\Capturekernal\Debug\vc100.pdb
文件 1595 2016-06-26 20:54 核密度估计算法\Capturekernal\ReadMe.txt
文件 218 2016-06-26 20:54 核密度估计算法\Capturekernal\stdafx.cpp
文件 233 2016-06-26 20:54 核密度估计算法\Capturekernal\stdafx.h
文件 236 2016-06-26 20:54 核密度估计算法\Capturekernal\targetver.h
文件 7049382 2016-04-21 11:12 核密度估计算法\Capturekernal\test1.avi
文件 15552512 2016-06-26 21:08 核密度估计算法\Capturekernal.sdf
文件 906 2016-06-26 20:54 核密度估计算法\Capturekernal.sln
............此处省略17个文件信息
评论
共有 条评论