kinect2.0 opencv3.2 骨骼图像提取

转载请注明出处:http://blog.csdn.net/mystylee/article/details/77993374

本人配置:win10 + visual studio 2015 + kinect 2.0 + opencv 3.2

说明:由于本人前面有一个桌子,没有读取到腿部膝盖以下的关节点。如果要测试,请到比较宽阔的地方。

另外,本人将右手关节点的坐标显示了出来。有兴趣的同学可以利用这一深度将其手部分割出来。我在后面的博客中会实现这一功能。


本文主要将彩色图像和人体对应的骨骼图像展现出来。具体代码如下所示:

#include <kinect.h>
#include <opencv2/imgproc.hpp>
#include <opencv2/highgui.hpp>
#include <opencv2/calib3d.hpp>
#include <fstream>
#include <iostream>

using namespace std;
using namespace cv;

void    draw(Mat & img, Joint & r_1, Joint & r_2, ICoordinateMapper * myMapper);

HRESULT hr;

int main()
{

IKinectSensor* kinectsensor = nullptr;
IBodyFrameSource* bodySource = nullptr;
IDepthFrameSource* depthSource = nullptr;
IColorFrameSource* colorSource = nullptr;
IBodyFrameReader* bodyReader = nullptr;
IDepthFrameReader* depthReader = nullptr;
IColorFrameReader* colorReader = nullptr;
ICoordinateMapper* coordinateMapper = nullptr;


//Mat skeletonImg(height, width, CV_8UC3);


//skeletonImg.setTo(0);
namedWindow("body");


char file_name[20];
int a = 0;


hr = GetDefaultKinectSensor(&kinectsensor);
if (FAILED(hr))
{
return hr;
}
hr = kinectsensor->Open();
if (FAILED(hr))
{
cout << "kinect open failed!" << endl;
}
hr = kinectsensor->get_ColorFrameSource(&colorSource);
if (FAILED(hr))
{
cout << "colorsource failed!" << endl;
}
hr = kinectsensor->get_BodyFrameSource(&bodySource);
if (FAILED(hr))
{
cout << "bodysource failed!" << endl;
}
hr = kinectsensor->get_DepthFrameSource(&depthSource);
if (FAILED(hr))
{
cout << "depthsource failed!" << endl;
}
hr = colorSource->OpenReader(&colorReader);
if (FAILED(hr))
{
cout << "colorreader failed!" << endl;
}
hr = bodySource->OpenReader(&bodyReader);
if (FAILED(hr))
{
cout << "bodyreader failed!

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值