www.pudn.com > CBVRtest.rar > KFE.cpp
// KFE.cpp: implementation of the KFE class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "CBVRtestsystem.h"
#include "KFE.h"
#include "MyHSV.h"
#include "MyRGB.h"
#include "InputDlg.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
KFE::KFE(PGETFRAME g1,int W,int H,int l,int number)
{
gapgf=g1;
m_frameW=W;
m_frameH=H;
length=l;
kf=new int[length];
memset(kf,0,length*sizeof(int));
if (number==1)
{
kfe1();
}
if (number==2)
{
kfe2();
}
}
KFE::~KFE()
{
}
//帧平均法提取关键帧
void KFE::kfe1()
{
int i,R=0,G=0,B=0,pos,D;
long min=100000,max=0;
pos=1234;
for(i=0;imax)
{
max=D;
kf[1]=i;
}
}
}
//直方图平均法提取关键帧
void KFE::kfe2()
{
int i,j,D;
long min=100000000,max=0;
int HR[256],HG[256],HB[256],R[256],G[256],B[256];
memset(R,0,256*4);
memset(G,0,256*4);
memset(B,0,256*4);
memset(HR,0,256*4);
memset(HG,0,256*4);
memset(HB,0,256*4);
for(i=0;imax)
{
max=D;
kf[1]=i;
}
m_RGBframe.destroy();
}
}
//两帧RGB图像象素比较
float KFE::CompFrameByRGBPixel(MyRGB f1, MyRGB f2)
{
float total=0;
for(int i=0;i