基于关键帧的人体动作识别


基于关键帧的人体动作识别的论文复现,包括PPT,代码、论文等全套内容,仅是为了方便自己和他人共同学习。论文相对来说比较简单
资源截图
代码片段和文件信息
// MyFirstCode.cpp : 定义控制台应用程序的入口点。
//

#include “stdafx.h“

#include 
#include 
#include 
#include 
#include   
#include 
#include 
#include 
#include 


using namespace std;

class JointPoint
{
public:
double jointPoint_X;
double jointPoint_Y;
double jointPoint_Z;

JointPoint(){}
~JointPoint(){}
};

//K均值聚类操作
void CreateRandomArray(int dataNum int clusterNum int* center);//创建随机初始聚类中心
void CopyCenter(int dimNum int clusterNum double** cluCenterDataCopy double** cluCenterData);//复制聚类中心
void AddToCluster(int index double* inputData int dimNum int* Top double*** clusterResult);//加入一个数据到一个Cluster[index]集合
void UpdateCluster(int clusterNum int frameNum double** frameData double** Center int *Top int dim double*** clusterResult);
void UpdateCenter(int clusterNum int dim double** Center int *Top double*** clusterResult);//重新计算质心集合,对每一簇集合中的元素加总求平均即可
bool IsEqual(double** center1 double** center2 int clusterNum int dim);//判断两个聚类中心是否相等,用来判断是否结束
void Print(int clusterNum int dim double** Center int *Top double*** clusterResult);//打印聚合结果
//获得骨架关节角度
double AljointAngle(JointPoint point1 JointPoint point2 JointPoint point3);//计算关节角度

//获取文件名
string getFileName(int actI int peoJ);
string getVideoFileName(int act int peo);
//读取文件中的数据
bool getFileData(string fileName int& frameNum int& skeJointNum double ** &frameData);

//获取关键帧
void getMainframe(int* & mainframe int frameNum int skeJointNum int clusterNum double** cluCenterData double** frameData);
void printMainframe(int* mainframe int clusterNum int frameNum int act int peo);//打印关键帧

int _tmain(int argc _TCHAR* argv[])
{
/*输出文件流*/
ofstream outAngleFile;
ofstream outPositionFile;
//打开要输出的文件
outAngleFile.open(“getAngleFeature20.csv“ ios::out | ios::trunc);
outPositionFile.open(“getPositionFeature20.csv“ ios::out | ios::trunc);
if (!outAngleFile)return 1;
if (!outPositionFile)return 1;
int fileNum = 0;
int frameNumTemp = 0;
/*****************************读取所有文件**************************/
for (int actI = 1; actI <= 16; actI++)
{
for (int peoJ = 1; peoJ <= 10; peoJ++)
{
//cout << “文件:“ << aaaaaaaaaaaaaaaaaaaaaa< /********************************************读取数据************************************************/
int frameNum;
int skeJointNum;
string fileName;

fileName = getFileName(actI peoJ);
//cout << fileName << endl;

double **frameData;
if (!getFileData(fileNameframeNumskeJointNumframeData)){
return 1;
}
int dim = skeJointNum * 3;
/**********************************************K均值聚类*******************************************/
/*K均值聚类可以先选择 k进行聚类,验证结果是否正确
*/
//声明变量
int clusterNum = frameNum/10;

double** cluCenterData; //聚类中心
cluCenterData = new double*[clusterNum];
for (int i = 0; i < clu

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-04-20 17:15  基于关键帧的人体动作识别-论文实现
     目录           0  2018-04-20 17:14  基于关键帧的人体动作识别-论文实现MyFirstCode
     目录           0  2018-04-20 17:14  基于关键帧的人体动作识别-论文实现MyFirstCodeDebug
     文件      159744  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现MyFirstCodeDebugMyFirstCode.exe
     文件      895452  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现MyFirstCodeDebugMyFirstCode.ilk
     文件     2124800  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现MyFirstCodeDebugMyFirstCode.pdb
     目录           0  2018-04-20 17:14  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCode
     目录           0  2018-04-20 17:14  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebug
     文件        2807  2018-02-28 11:11  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugGetMainframe.obj
     文件        2253  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugMyFirstCode.log
     文件      504370  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugMyFirstCode.obj
     文件     2097152  2018-04-19 20:16  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugMyFirstCode.pch
     目录           0  2018-04-20 17:14  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugMyFirstCode.tlog
     文件       18918  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugMyFirstCode.tlogCL.read.1.tlog
     文件        3204  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugMyFirstCode.tlogCL.write.1.tlog
     文件         183  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugMyFirstCode.tlogMyFirstCode.lastbuildstate
     文件        3110  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugMyFirstCode.tlogcl.command.1.tlog
     文件        1586  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugMyFirstCode.tloglink.command.1.tlog
     文件        3180  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugMyFirstCode.tloglink.read.1.tlog
     文件         770  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugMyFirstCode.tloglink.write.1.tlog
     文件       11712  2018-04-19 20:16  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugstdafx.obj
     文件      445440  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugvc120.idb
     文件      741376  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeDebugvc120.pdb
     文件       26249  2018-04-19 20:26  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeMyFirstCode.cpp
     文件        4670  2018-04-02 19:55  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeMyFirstCode.vcxproj
     文件        1318  2018-04-02 19:55  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeMyFirstCode.vcxproj.filters
     文件         165  2018-04-02 21:43  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeMyFirstCode.vcxproj.user
     文件        1538  2018-02-05 16:37  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeReadMe.txt
     目录           0  2018-04-20 17:14  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeRelease
     文件        1326  2018-04-10 21:13  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeReleaseMyFirstCode.log
     文件     1570247  2018-04-10 21:11  基于关键帧的人体动作识别-论文实现MyFirstCodeMyFirstCodeReleaseMyFirstCode.obj
............此处省略46个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)