• 大小: 16.98MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-06-19
  • 语言: 其他
  • 标签: 人体骨骼  

资源简介

vs2013平台下 KinectV2 显示彩色图像 , 同时将人体骨骼画到对应的彩色图像上

资源截图

代码片段和文件信息

#include 
//#include  //opencv头文件
//#include 
//#include 

#include   
#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);

//**********************以上为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 < myBodyCount; i++)
myBodyArr[i] = nullptr;

if (myBodyframe->GetAndRefreshBodyData(myBodyCount myBodyArr) == S_OK)     //把身体数据输入数组
for (int i = 0; i < myBodyCount; 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)   //如果侦测到就把关节数据输入到数组并画图
{
draw(copy myJointArr[JointType_Head] myJointArr[JointType_Neck] myMapper);
draw(copy myJointArr[JointType_Neck] myJointArr[JointType_SpineShoulder] myMapper);

draw(copy myJointArr[JointType_SpineShoulder] myJointArr[JointType_ShoulderLeft] myMapper);
draw(copy myJointArr[JointType_SpineShoulder] myJointArr[JointType_SpineMid] myMapper);
draw(copy myJointArr[JointType_SpineShoulder] myJointArr[JointType_ShoulderRight] myMapper);

draw(copy myJointArr[JointType_ShoulderLeft

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-11-29 16:55  bone\
     目录           0  2017-11-29 16:50  bone\Debug\
     文件       71168  2017-11-29 16:50  bone\Debug\bone.exe
     文件      398420  2017-11-29 16:50  bone\Debug\bone.ilk
     文件     1986560  2017-11-29 16:50  bone\Debug\bone.pdb
     目录           0  2017-08-09 09:22  bone\bone\
     目录           0  2017-11-29 16:50  bone\bone\Debug\
     文件        2778  2017-11-29 16:50  bone\bone\Debug\bone.log
     目录           0  2017-11-29 16:50  bone\bone\Debug\bone.tlog\
     文件       37386  2017-11-29 16:50  bone\bone\Debug\bone.tlog\CL.read.1.tlog
     文件         440  2017-11-29 16:50  bone\bone\Debug\bone.tlog\CL.write.1.tlog
     文件         169  2017-11-29 16:50  bone\bone\Debug\bone.tlog\bone.lastbuildstate
     文件         624  2017-11-29 16:50  bone\bone\Debug\bone.tlog\cl.command.1.tlog
     文件        2800  2017-11-29 16:50  bone\bone\Debug\bone.tlog\link.command.1.tlog
     文件        6996  2017-11-29 16:50  bone\bone\Debug\bone.tlog\link.read.1.tlog
     文件         424  2017-11-29 16:50  bone\bone\Debug\bone.tlog\link.write.1.tlog
     文件     1059840  2017-11-29 16:50  bone\bone\Debug\vc120.idb
     文件     1609728  2017-11-29 16:50  bone\bone\Debug\vc120.pdb
     文件      257265  2017-11-29 16:50  bone\bone\Debug\源.obj
     文件        4080  2017-08-09 09:12  bone\bone\bone.vcxproj
     文件         944  2017-08-09 09:12  bone\bone\bone.vcxproj.filters
     文件        5899  2017-08-09 09:22  bone\bone\源.cpp
     文件    54067200  2017-11-29 16:55  bone\bone.sdf
     文件         958  2017-08-09 08:39  bone\bone.sln
     文件       19968  2017-11-29 16:55  bone\bone.v12.suo

评论

共有 条评论