资源简介
基于关键帧的人体动作识别的论文复现,包括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\GetMainfr
文件 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\li
文件 3180 2018-04-19 20:27 基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\MyFirstCode.tlog\li
文件 770 2018-04-19 20:27 基于关键帧的人体动作识别-论文实现\MyFirstCode\MyFirstCode\Debug\MyFirstCode.tlog\li
文件 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个文件信息
评论
共有 条评论