demo:kinect sdk获取骨架线函数

1、百度搜骨骼点对应关系(来源见水印)(不太对吧?):
demo:kinect sdk获取骨架线函数_第1张图片
我不知道大家什么情况,反正我获得的不是按照这个顺序来的,mathworks上关于kinect的函数连接也不是这个,
我的是这样子(所以大家看情况来吧):
demo:kinect sdk获取骨架线函数_第2张图片
绘制代码

x=skeletonJoints(:,1);
y=skeletonJoints(:,2);
imshow(depthMetadata.BodyIndexFrame,[])
hold on
plot(x,y,'w*')
for i=1:25
     text(x(i)+3,y(i)+3,num2str(i),'Color','green') ; %加上3使标号和点不重合
end

2、绘制骨架线函数skeletonViewer.mat
输入参数skeleton:骨骼点数据,image:RGB图像, nSkeleton:采集到的人物数目

  • kinect1.0版本20个骨架点
function [] = skeletonViewer(skeleton, image, nSkeleton)
 imshow(image);
 SkeletonConnectionMap = [[1 2]; % 脊柱
                         [2 3];
                         [3 4];
                         [3 5]; %左手
                         [5 6];
                         [6 7];
                         [7 8];
                         [3 9]; %右手
                         [9 10];
                         [10 11];
                         [11 12];
                         [1 17]; % 右腿
                         [17 18];
                         [18 19];
                         [19 20];
                         [1 13]; %左腿
                         [13 14];
                         [14 15];
                         [15 16]];
 for i = 1:19
     
     if nSkeleton > 0
         X1 = [skeleton(SkeletonConnectionMap(i,1),1,1) skeleton(SkeletonConnectionMap(i,2),1,1)];
         Y1 = [skeleton(SkeletonConnectionMap(i,1),2,1) skeleton(SkeletonConnectionMap(i,2),2,1)];
         line(X1,Y1, 'LineWidth', 1.5, 'LineStyle', '-', 'Marker', '+', 'Color', 'r');
         
     end
     if nSkeleton > 1%这里就画了两个人的,最多6个以此类推就好
         X2 = [skeleton(SkeletonConnectionMap(i,1),1,2) skeleton(SkeletonConnectionMap(i,2),1,2)];
         Y2 = [skeleton(SkeletonConnectionMap(i,1),2,2) skeleton(SkeletonConnectionMap(i,2),2,2)];     
         line(X2,Y2, 'LineWidth', 1.5, 'LineStyle', '-', 'Marker', '+', 'Color', 'g');
     end
    hold on;
 end
 hold off;
  • kinect2.0版本的25个骨骼点
 SkeletonConnectionMap = [ [4 3];  
                          [3 21]; 
                          [21 2]; 
                          [2 1];
                          [21 9];
                          [9 10]; 
                          [10 11];
                          [11 12]; 
                          [12 24];
                          [12 25];
                          [21 5];  
                          [5 6];
                          [6 7];  
                          [7 8];
                          [8 22];
                          [8 23];
                          [1 17];
                          [17 18];
                          [18 19];
                          [19 20];
                          [1 13];
                          [13 14];
                          [14 15];
                          [15 16];
                        ];

你可能感兴趣的:(kinect)