资源简介
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++编写的音频播放器代码
- 服务端Node.js和VC++程序间通过SOCKET通信
- VC++School管理系统(学生、教师、在职
- 实验二、GIS图形数据对象的组织一
- WindowsVC++获取CPU整体使用率
- vc++ 运用MFC实现基于AfxMessageBox的 自定
- VC++中文繁体、简体BIG-GBK编码转换程序
- 利用opengl 组件的基础上使用VC++编写的
- VC++编写DLL导出函数及其调用方法
- 马石安编写的VC++程序设计与应用程序
- 本例程采用VC++ 实现JPG格式图片的打开
- VC++异步通信的socket类
- 固高GT编程手册的Vc++单轴运动程序
- AES加密解密系统 VC++6.0 实现
- VC++access与excel数据的导入导出
- opengl实现鼠标坐标的显示
- VC++关于纹理特征提取的代码完整
- 基于mfcvc++6.0的图书馆管理系统
- 贝塞尔曲面 vc++ opengl
- 如何在VC++ 6.0创建RTX项目
- VC++ 实现将本地文件通过HTTP上传到网
- VC++采用内存映射方式高效率读写大数
- 《C语言课程设计》 学生成绩管理系统
- VC++6.0无法打开工程解决办法
- VC++6.0实现读取硬盘唯一序列号源码和
- mfc安装全局钩子,显示窗口的标题
- 使用动态优先权的进程调度算法的模
- 读取串口数据并画实时曲线的VC++程序
- VC++实现滑块皮肤 slider skin
- MFC 计算文件MD5码 VC++
评论
共有 条评论