• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

demo:matlab下使用kinect获取骨骼点数据

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

代码主要copy的mathworks。遇到了一些错误,主要是:
1、kinect1.0和2.0的一些函数对应不上,查找了对应函数关系
2、原代码有些地方由于顺序等原因在我的电脑上也出错,调整了一些顺序
3、原来采集100帧,报的内存不足,(但在老师电脑上也这个配置,老师说是由于我的电脑usb3.0的质量问题),所以改成50帧
删减修改后

imaqhwinfo
colorVid = videoinput('kinect',1);
%preview(colorVid)%可以预览视频流
depthVid = videoinput('kinect',2);
%preview(depthVid)

triggerconfig(depthVid,'manual');
triggerconfig(colorVid,'manual');
depthVid.FramesPerTrigger = 1;
depthVid.TriggerRepeat = inf;
set(getselectedsource(depthVid),'EnableBodyTracking','on')%v2和v1不同,后来改动

start(depthVid);figure;
for i=1:50%为啥采集50帧?为了让人做好准备进入相框?
    trigger(depthVid);
    [depthMap,~,depthMetadata] = getdata(depthVid);
    imshow(depthMap,[0 4096]);
end
stop(depthVid);

skeletonJoints = depthMetadata.DepthJointIndices(:,:,depthMetadata.IsBodyTracked);
imshow(depthMap,[0 4096]);
hold on;plot(skeletonJoints(:,1),skeletonJoints(:,2),'*');

这个skeletonJoints( ;)就是骨骼点信息啦
结果:


腿的骨骼点跑偏了…不要在意这些细节

曾经的错误和解决方法也贴一贴吧:

因为这个trackingmode是v1.0的用法


等等

其中对应关系:
kinect1.0

kinect2.0


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
FCM算法的matlab程序FCM算法的matlab程序(初步)发布时间:2022-07-18
下一篇:
FIR滤波器设计流程 加窗 MATLAB发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap