資源簡介
基于關鍵幀的人體動作識別的論文復現,包括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?<“文件:“?< /********************************************讀取數據************************************************/
int?frameNum;
int?skeJointNum;
string?fileName;
fileName?=?getFileName(actI?peoJ);
//cout?<
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?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????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個文件信息
評論
共有 條評論