資源簡介
使用Kinect2.0獲取人體骨骼,并使用openCV實時繪制,里面為VisualStudio2015工程文件,配置好Kinect開發環境可直接用VS2015打開并運行

代碼片段和文件信息
#include??
#include
#include?????//opencv頭文件??
#include???
#include???
#include????//Kinect頭文件??
using???namespace???std;
using???namespace???cv;
void????draw(Mat?&?img?Joint?&?r_1?Joint?&?r_2?ICoordinateMapper?*?myMapper);
int?main(void)
{
IKinectSensor???*?mySensor?=?nullptr;
GetDefaultKinectSensor(&mySensor);
mySensor->Open();
IColorframeSource???*?myColorSource?=?nullptr;
mySensor->get_ColorframeSource(&myColorSource);
IColorframeReader???*?myColorReader?=?nullptr;
myColorSource->OpenReader(&myColorReader);
int?colorHeight?=?0?colorWidth?=?0;
iframeDescription???*?myDescription?=?nullptr;
myColorSource->get_frameDescription(&myDescription);
myDescription->get_Height(&colorHeight);
myDescription->get_Width(&colorWidth);
IColorframe?*?myColorframe?=?nullptr;
Mat?original(colorHeight?colorWidth?CV_8UC4);
//**********************以上為Colorframe的讀取前準備**************************??
IBodyframeSource????*?myBodySource?=?nullptr;
mySensor->get_BodyframeSource(&myBodySource);
IBodyframeReader????*?myBodyReader?=?nullptr;
myBodySource->OpenReader(&myBodyReader);
int?myBodyCount?=?0;
myBodySource->get_BodyCount(&myBodyCount);
IBodyframe??*?myBodyframe?=?nullptr;
ICoordinateMapper???*?myMapper?=?nullptr;
mySensor->get_CoordinateMapper(&myMapper);
int?abc?=?0;
ofstream?ofile;
//**********************以上為Bodyframe以及Mapper的準備***********************??
while?(1)
{
while?(myColorReader->AcquireLatestframe(&myColorframe)?!=?S_OK);
myColorframe->CopyConvertedframeDataToArray(colorHeight?*?colorWidth?*?4?original.data?ColorImageFormat_Bgra);
Mat?copy?=?original.clone();????????//讀取彩色圖像并輸出到矩陣??
while?(myBodyReader->AcquireLatestframe(&myBodyframe)?!=?S_OK);?//讀取身體圖像??
IBody???**??myBodyArr?=?new?IBody?*[myBodyCount];???????//為存身體數據的數組做準備??
for?(int?i?=?0;?i? myBodyArr[i]?=?nullptr;
if?(myBodyframe->GetAndRefreshBodyData(myBodyCount?myBodyArr)?==?S_OK)?????//把身體數據輸入數組??
for?(int?i?=?0;?i? {
BOOLEAN?????result?=?false;
if?(myBodyArr[i]->get_IsTracked(&result)?==?S_OK?&&?result)?//先判斷是否偵測到??
{
Joint???myJointArr[JointType_Count];
if?(myBodyArr[i]->GetJoints(JointType_Count?myJointArr)?==?S_OK)???//如果偵測到就把關節數據輸入到數組并畫圖??
{
ofile.open(“C:\\Users\\z\\Desktop\\out.txt“?ios::app);?????//作為輸出文件打開
ofile< ofile.close();
cout?< abc?+=?1;
draw(copy?myJointArr[JointType_Head]?myJointArr[JointType_Neck]?myMapper);
draw(copy?myJo
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????.CA..H.?????25088??2017-12-29?08:49??Project1\.vs\Project1\v14\.suo
????.CA....????113664??2017-12-23?19:13??Project1\Debug\Project1.exe
????.CA....????619740??2017-12-23?19:13??Project1\Debug\Project1.ilk
????.CA....???1929216??2017-12-23?19:13??Project1\Debug\Project1.pdb
????.CA....??????1116??2017-12-22?22:02??Project1\Project1\Debug\Project1.Build.CppClean.log
????.CA....??????1714??2017-12-23?19:13??Project1\Project1\Debug\Project1.log
????.CA....???????734??2017-12-23?19:13??Project1\Project1\Debug\Project1.tlog\CL.command.1.tlog
????.CA....?????39914??2017-12-23?19:13??Project1\Project1\Debug\Project1.tlog\CL.read.1.tlog
????.CA....???????648??2017-12-23?19:13??Project1\Project1\Debug\Project1.tlog\CL.write.1.tlog
????.CA....??????1496??2017-12-23?19:13??Project1\Project1\Debug\Project1.tlog\li
????.CA....??????3608??2017-12-23?19:13??Project1\Project1\Debug\Project1.tlog\li
????.CA....???????632??2017-12-23?19:13??Project1\Project1\Debug\Project1.tlog\li
????.CA....???????224??2017-12-23?19:13??Project1\Project1\Debug\Project1.tlog\Project1.lastbuildstate
????.CA....???1469440??2017-12-23?19:13??Project1\Project1\Debug\vc140.idb
????.CA....???1175552??2017-12-23?19:13??Project1\Project1\Debug\vc140.pdb
????.CA....????330193??2017-12-23?19:13??Project1\Project1\Debug\源.obj
????.CA....??????6950??2017-12-22?22:02??Project1\Project1\Project1.vcxproj
????.CA....???????944??2017-12-22?21:42??Project1\Project1\Project1.vcxproj.filters
????.CA....???????165??2017-12-22?21:29??Project1\Project1\Project1.vcxproj.user
????.CA....??????6210??2017-12-23?19:13??Project1\Project1\源.cpp
????.CA....??????1306??2017-12-22?21:22??Project1\Project1.sln
????.CA....??35340288??2018-01-04?22:12??Project1\Project1.VC.db
????.C.D...?????????0??2018-01-09?10:05??Project1\.vs\Project1\v14
????.C.D...?????????0??2018-01-09?10:06??Project1\Project1\Debug\Project1.tlog
????.C.D...?????????0??2018-01-09?10:05??Project1\.vs\Project1
????.C.D...?????????0??2018-01-09?10:06??Project1\Project1\Debug
????.C.D.H.?????????0??2018-01-09?10:05??Project1\.vs
????.C.D...?????????0??2018-01-09?10:05??Project1\Debug
????.C.D...?????????0??2018-01-09?10:06??Project1\Project1
????.C.D...?????????0??2018-01-09?10:05??Project1
............此處省略3個文件信息
評論
共有 條評論