资源简介
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 humantrack\BackGround.cpp
文件 1735 2005-03-17 14:48 humantrack\BackGround.h
文件 18651 2003-09-17 10:12 humantrack\Cdib.cpp
文件 1768 2003-09-17 10:29 humantrack\Cdib.h
文件 3335 2003-09-09 11:08 humantrack\ChooseDirDlg.cpp
文件 1530 2003-09-09 11:27 humantrack\ChooseDirDlg.h
目录 0 2005-03-17 14:48 humantrack\Debug
文件 14774 2003-11-05 16:24 humantrack\DIBAPI.CPP
文件 1388 2003-11-05 16:16 humantrack\DIBAPI.H
文件 7987 2000-10-14 00:21 humantrack\DirectoryTree.cpp
文件 1917 2000-10-14 00:32 humantrack\DirectoryTree.h
文件 943 2003-09-18 23:50 humantrack\DPoint2D.cpp
文件 668 2003-09-29 23:53 humantrack\DPoint2D.h
文件 3410 2003-09-09 10:43 humantrack\DriveCombo.cpp
文件 1279 2003-09-09 10:20 humantrack\DriveCombo.h
文件 1386 2003-09-27 10:28 humantrack\fr
文件 1359 2003-09-09 11:10 humantrack\fr
文件 966 2003-09-27 10:45 humantrack\Hh.cpp
文件 1143 2003-09-27 10:45 humantrack\Hh.h
文件 8507 2003-09-16 17:36 humantrack\Human.cpp
文件 1975 2003-09-29 23:30 humantrack\Human.h
文件 32824 2005-03-10 15:39 humantrack\humantrack.aps
文件 4044 2005-03-17 14:49 humantrack\humantrack.clw
文件 4281 2003-05-06 22:10 humantrack\humantrack.cpp
文件 6972 2003-09-27 11:36 humantrack\humantrack.dsp
文件 545 2003-05-07 00:00 humantrack\humantrack.dsw
文件 1400 2003-05-06 22:10 humantrack\humantrack.h
文件 287744 2005-03-17 16:16 humantrack\humantrack.ncb
文件 133632 2005-03-17 16:16 humantrack\humantrack.opt
文件 2342 2005-03-17 14:48 humantrack\humantrack.plg
............此处省略43个文件信息
- 上一篇:C++排课系统
- 下一篇:Directx修复软件
相关资源
- VC++ 多线程文件读写操作
- 移木块游戏,可以自编自玩,vc6.0编写
- VC++MFC小游戏实例教程(实例)+MFC类库
- VC++实现CMD命令执行与获得返回信息
- VC++基于OpenGL模拟的一个3维空间模型
- 基于VC++的SolidWorks二次开发SolidWorks
- 派克变换VC++源码(附文档)
- VC++ 串口
- VC++ 大富翁4_大富翁游戏源码
- VC++ 摄像头视频采集与回放源程序
- 转 VC++ 实现电子邮件(Email)发送
- 基于MFC的VC++仿QQ浏览器源码(雏形)
- VC++ 服务程序编写及安装与卸载
- VC++6.0番茄西红柿VAXvirsual assist X完美破
- 基于改进的fcm算法的图像分割vc++
- VC++6.0 绿色版,免安装,非常好用。
- Microsoft Visual C++ 2005 Redistributable Pack
- VC++MFC课程设计的学生成绩管理系统
- 大智慧365DLL插件设计
- VC++6.0汉化包
- VC++完整商业界面源码(再上传)
- VC++编程技术600个大型项目源码.rar
- VC++实现RSA加密算法
- VC++ 中国象棋经典游戏源代码
- 郁金香VC++游戏辅助视频教程
- C语言进阶源码---基于graphics实现图书
- 摄影测量相对定向VC++程序
- VC++数字图像处理典型算法及实现
- VC++酒店客房管理系统 MFC
- 车站计算机联锁vc++6.0程序代码
评论
共有 条评论