Kinect二次开发之:NtKinect

分享一个Kinect二次开发的库,NtKinect,作者是日本的朋友。
那么NtKinect可以干嘛呢?

NtKinect

可以看到,这个库包含了Kinect的一些基本功能,比如RGB、depth、红外图像的采集,再到高级一点的RGB与深度图的配准、人体关节点识别、人脸检测、语音识别、甚至配合Unity的使用等等。
比如说随便点开一个人体关节点的识别链接,可以看到他的代码做了二次的包装,非常简洁,通俗易懂:
#include <iostream>
#include <sstream>

#include "NtKinect.h"

using namespace std;

void doJob() {
  NtKinect kinect;
  while (1) {
    kinect.setRGB();
    kinect.setSkeleton();
    for (auto person : kinect.skeleton) {
      for (auto joint : person) {
        if (joint.TrackingState == TrackingState_NotTracked) continue;
        ColorSpacePoint cp;
        kinect.coordinateMapper->MapCameraPointToColorSpace(joint.Position,&cp);
        cv::rectangle(kinect.rgbImage, cv::Rect((int)cp.X-5, (int)cp.Y-5,10,10), cv::Scalar(0,0,255),2);
      }
    }
    cv::imshow("rgb", kinect.rgbImage);
    auto key = cv::waitKey(1);
    if (key == 'q') break;
  }
  cv::destroyAllWindows();
}

int main(int argc, char** argv) {
  try {
    doJob();
  } catch (exception &ex) {
    cout << ex.what() << endl;
    string s;
    cin >> s;
  }
  return 0;
}
只需要包含Kinect自己的SDK头文件,就可以执行代码,执行完了之后得到的人体关节点图像如下所示:

skeleton

很多有趣的功能,可以自己去发现,还是很容易上手的一个小工具。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值