• 大小: 31.78MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-08-03
  • 语言: 其他
  • 标签: 关键帧  

资源简介

基于关键帧的人体动作识别的论文复现,包括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  基于关键帧的人体动作识别-论文实现\MyFirstCode\Debug\
     文件      159744  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现\MyFirstCode\Debug\MyFirstCode.exe
     文件      895452  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现\MyFirstCode\Debug\MyFirstCode.ilk
     文件     2124800  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现\MyFirstCode\Debug\MyFirstCode.pdb
     目录           0  2018-04-20 17:14  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\
     目录           0  2018-04-20 17:14  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\
     文件        2807  2018-02-28 11:11  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\GetMainframe.obj
     文件        2253  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\MyFirstCode.log
     文件      504370  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\MyFirstCode.obj
     文件     2097152  2018-04-19 20:16  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\MyFirstCode.pch
     目录           0  2018-04-20 17:14  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\MyFirstCode.tlog\
     文件       18918  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\MyFirstCode.tlog\CL.read.1.tlog
     文件        3204  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\MyFirstCode.tlog\CL.write.1.tlog
     文件         183  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\MyFirstCode.tlog\MyFirstCode.lastbuildstate
     文件        3110  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\MyFirstCode.tlog\cl.command.1.tlog
     文件        1586  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\MyFirstCode.tlog\link.command.1.tlog
     文件        3180  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\MyFirstCode.tlog\link.read.1.tlog
     文件         770  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\MyFirstCode.tlog\link.write.1.tlog
     文件       11712  2018-04-19 20:16  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\stdafx.obj
     文件      445440  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\vc120.idb
     文件      741376  2018-04-19 20:27  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\vc120.pdb
     文件       26249  2018-04-19 20:26  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\MyFirstCode.cpp
     文件        4670  2018-04-02 19:55  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\MyFirstCode.vcxproj
     文件        1318  2018-04-02 19:55  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\MyFirstCode.vcxproj.filters
     文件         165  2018-04-02 21:43  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\MyFirstCode.vcxproj.user
     文件        1538  2018-02-05 16:37  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\ReadMe.txt
     目录           0  2018-04-20 17:14  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Release\
     文件        1326  2018-04-10 21:13  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Release\MyFirstCode.log
     文件     1570247  2018-04-10 21:11  基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Release\MyFirstCode.obj
............此处省略46个文件信息

评论

共有 条评论