• 大小: 168KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: C/C++
  • 标签: vc++  模式识别  

资源简介

vc++ 模式识别 的代码

资源截图

代码片段和文件信息

// BackGround.cpp: implementation of the CBackGround class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “humantrack.h“
#include “BackGround.h“
#include “math.h“

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CBackGround::CBackGround()
{
m_hDIB = NULL;
m_palDIB = NULL;
}
CBackGround::~CBackGround()
{

}

/*************************************************************************
 * \函数名称:  GetFileName()
 * \输入参数:
 *   CString strFilePathName - 图象的文件名 
 *   int nCurframeNum - 当前帧的图象文件名
 * \返回值:
 *   CString - 返回给定帧数的图象文件名
 * \说明:
 *   该函数根据指定文件路径名和当前图象序列的帧数获取图象文件名
 *   该函数中需要注意的是,只能读取0-999帧图象,图象为bmp格式,且按照
 *   帧数数字进行存储,例如第一帧图象文件名为×××001.bmp,第33帧图象
 *   的文件名为×××033.bmp。如果不是bmp文件,则返回“NULL“。
 *
 **************************************************************************/

CString CBackGround::GetFileName(CString strFilePathName int nCurframeNum)
{
//文件的路径名
CString strTempFileName;

int nNumPos=strFilePathName.Find(“.“);
if(nNumPos==-1)
{
AfxMessageBox(“Please choose a bmp file“);
return “NULL“;
}

//表示去掉了扩展名和数字标号的路径名,在这里,限定帧数为0~999,所以采用三位来表示
CString strFileNameNoExtNoNum=strFilePathName.Left(nNumPos-3);

//表示标号的字符串
CString strTempNum;

if(nCurframeNum<10){
strTempNum.Format(“00%d“nCurframeNum);
}
else {
if(nCurframeNum<100 &&nCurframeNum>=10){
strTempNum.Format(“0%d“nCurframeNum);
}
else{
strTempNum.Format(“%d“nCurframeNum);
}
}

// 得到图象文件名
strTempFileName=strFileNameNoExtNoNum+strTempNum+“.bmp“;

// 返回
return strTempFileName;
}

/*************************************************************************
 *
 * \函数名称:
 *   LoadDibSeq()
 *
 * \输入参数:
 *   CString strFilePath - 第一帧图象的文件名 
 *   int nCurframeNum - 当前帧的图象文件名
 *   int nTotalframeNum - 进行检测的图象帧数
 *   CDib* pDib - 指向返回CDib类的指针
 *
 * \返回值:
 *   BOOL - 成功则返回TRUE,否则返回FALSE
 *
 * \说明:
 *   该函数根据指定文件路径名和当前图象序列的帧数读取图象数据道pDib中
 *   该函数中需要注意的是,只能读取0-999帧图象,图象为bmp格式,且按照
 *   帧数数字进行存储,例如第一帧图象文件名为×××001.bmp,第33帧图象
 *   的文件名为×××033.bmp。
 *
 **************************************************************************/

BOOL CBackGround::LoadDibSeq()
{
//一般来讲程序在处理的过程中需要装载的帧号应该是由外界指定的
//当指定的帧号不合法时就装载当前帧作为默认值

// 获得当前帧的图象文件名
CString strTempFileName;
strTempFileName=GetFileName(m_FileName m_nCurrentframe);

CFile fileOpen;
    
fileOpen.Open(_T(strTempFileName)CFile::modeRead);

m_hDIB = ::ReadDIBFile(fileOpen);

LPSTR pDIB = (LPSTR) ::GlobalLock((HGLOBAL) m_hDIB);

InitDIBData();

// 图象的宽度
m_ImageWidth= ::DIBWidth(pDIB);

// 图象的高度
m_ImageHeight= ::DIBHeight(pDIB);

return TRUE;
}

/************************************************

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

     文件      13895  2005-03-16 14:40  人体步态跟踪\BackGround.cpp

     文件       1735  2005-03-17 14:48  人体步态跟踪\BackGround.h

     文件      18651  2003-09-17 10:12  人体步态跟踪\Cdib.cpp

     文件       1768  2003-09-17 10:29  人体步态跟踪\Cdib.h

     文件       3335  2003-09-09 11:08  人体步态跟踪\ChooseDirDlg.cpp

     文件       1530  2003-09-09 11:27  人体步态跟踪\ChooseDirDlg.h

     目录          0  2005-03-17 14:48  人体步态跟踪\Debug

     文件      14774  2003-11-05 16:24  人体步态跟踪\DIBAPI.CPP

     文件       1388  2003-11-05 16:16  人体步态跟踪\DIBAPI.H

     文件       7987  2000-10-14 00:21  人体步态跟踪\DirectoryTree.cpp

     文件       1917  2000-10-14 00:32  人体步态跟踪\DirectoryTree.h

     文件        943  2003-09-18 23:50  人体步态跟踪\DPoint2D.cpp

     文件        668  2003-09-29 23:53  人体步态跟踪\DPoint2D.h

     文件       3410  2003-09-09 10:43  人体步态跟踪\DriveCombo.cpp

     文件       1279  2003-09-09 10:20  人体步态跟踪\DriveCombo.h

     文件       1386  2003-09-27 10:28  人体步态跟踪\framePath.cpp

     文件       1359  2003-09-09 11:10  人体步态跟踪\framePath.h

     文件        966  2003-09-27 10:45  人体步态跟踪\Hh.cpp

     文件       1143  2003-09-27 10:45  人体步态跟踪\Hh.h

     文件       8507  2003-09-16 17:36  人体步态跟踪\Human.cpp

     文件       1975  2003-09-29 23:30  人体步态跟踪\Human.h

     文件      32824  2005-03-10 15:39  人体步态跟踪\humantrack.aps

     文件       4044  2005-03-17 14:49  人体步态跟踪\humantrack.clw

     文件       4281  2003-05-06 22:10  人体步态跟踪\humantrack.cpp

     文件       6972  2003-09-27 11:36  人体步态跟踪\humantrack.dsp

     文件        545  2003-05-07 00:00  人体步态跟踪\humantrack.dsw

     文件       1400  2003-05-06 22:10  人体步态跟踪\humantrack.h

     文件     287744  2005-03-17 16:16  人体步态跟踪\humantrack.ncb

     文件     133632  2005-03-17 16:16  人体步态跟踪\humantrack.opt

     文件       2342  2005-03-17 14:48  人体步态跟踪\humantrack.plg

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

评论

共有 条评论