Getting Kinect sensor data from matlab
    5 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
I have kinect for PC and the new microsoft kinect SDK (not the beta). I was able to connect to the kinect from Matlab (using net.addassembly(<microsoft.kinect.dll>), and register an event listener (e.g., to DepthFrameReady event using addlistener). My event handler get called indeed (30 times a sec), but, when I copy the image data in the event handler to a matlab int8 array (using, DepthFrame.CopyPixelDataTo(frameBits)), the resulting matlab array, frameBits, is all zeros.
Any help on how to get the data from kinect sensor using microsft sdk would be highly appriciated.
1 commentaire
  Laila Kazemi
 le 13 Juin 2013
				hello , im trying to get data from kinect into matlab, i had no luck yet, could you pls post ur code?
Réponse acceptée
  Amir
 le 22 Juil 2012
        5 commentaires
  ANDREA JARAMILLO
 le 3 Mai 2019
				Hi, i have a problem with kinect v1 and matlab 2013, I need to acquire data from the joints when a person is walking but I get very few data because is very slow the sample of the "getdata" to get all the jointscoordinates each second, and thats give me only some angles and looses others that I need. This is the code. I hope someone could help me :(
depthVid = videoinput('kinect',2,'Depth_640x480');
preview(colorVid);
preview(depthVid );
triggerconfig(depthVid,'manual');
depthVid.FramesPerTrigger=1;
depthVid.TriggerRepeat=inf;
set(getselectedsource(depthVid),'TrackingMode','Skeleton')
start(depthVid);
himg = figure;
while ishandle(himg);          
  trigger(depthVid);
  [depthMap, ~, depthMetaData]= getdata(depthVid);
      if sum(depthMetaData.IsSkeletonTracked)>0
       cont=cont+1;
       skeletonJoints= depthMetaData.JointImageIndices(:,:,depthMetaData.IsSkeletonTracked);
       jointCoordinates=depthMetaData.JointWorldCoordinates(:,:,depthMetaData.IsSkeletonTracked);
       imshow (depthMap, [0 4096]);
       hold on;
       graficar_esqueleto(skeletonJoints)
       hold off; 
       i=i+1;
       %Angulos de articulación de rodillas 
       jointCoordinates
       %der
       ang1=Angulo(13,15,jointCoordinates);
       ang_rodilla1(i)=(180-ang1)
       %izq
       ang2=Angulo(17,19,jointCoordinates);
       ang_rodilla2(i)=(180-ang2)
      else
      imshow (depthMap, [0 4096]);
        end
      drawnow
end
stop(depthVid);
clear depthVid;
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Kinect For Windows Sensor dans Help Center et File Exchange
			
	Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





