No Skeleton Tracking features using Kinect and Image Acquisition Toolbox
Show older comments
Hi, I'm trying tu use Image Acquisition Toolbox and a Kinect V1 sensor to do Real Time skeleton tracking. But I have an Error, and I can't seem to find an answer on internet.So first of all this my code:
%Traqueur de Squelette
%Initialisation des variables
imaqreset;
Video = videoinput('kinect',1,'RGB_640x480'); %Video des Couleurs
Profondeurs = videoinput('kinect',2,'Depth_640x480'); %Video des Profondeurs
%Definition Trigger
triggerconfig(Profondeurs,'manual');
Profondeurs.FramesPerTrigger = 1;
Profondeurs.TriggerRepeat = 100;
set(getselectedsource(Profondeurs),'TrackingMode','Skeleton')
%Demarage Capteur de Profondeur
start(Profondeurs);
himg = figure;
%Calcul Squelette
while ishandle(himg)
trigger(Profondeurs);
[depthMap,~,depthMetaData] = getdata(Profondeurs);
if sum(depthMetaData.IsSkeletonTracked > 0)
skeletonJoints = depthMetaData.JointDepthindeices(:,:,depthMetaData.IsSkeletonTracked);
imshow(depthMap,[0 4096]);
hold on;
plot(skeletonJoints(:,1),skeletonJoints(:,2),'*');
hold off;
else
imshow(depthMap,[0 4096]);
end
end
stop(Profondeurs)
And this is the Error I get:
Error using Kinect_SkeletonTest (line 12)
The name 'TrackingMode' is not an accessible property for an instance of class 'videosource'.
It seems like I cannot acces the skeleton tracking features even though I can acces the Color Video and the Depth Video just fine. I tried to type the following command to troubleshoot my problem: getselectedsource(depthVideo);
This is what i'm supposed to get (according to other people who tried doing the same thing as me):
getselectedsource(depthVideo);
ans =
General Settings:
Parent = [1x1 videoinput]
Selected = on
SourceName = DepthSource
Tag =
Type = videosource
Device Specific Properties:
Accelerometer = [0.0 -1.0 0.0]
BodyPosture = Standing
CameraElevationAngle = 4
DepthMode = Default
FrameRate = 30
IREmitter = on
SkeletonsToTrack = [1x0 double]
TrackingMode = off
And this is what I personally get:
getselectedsource(depthVideo);
ans =
Display Summary for Video Source Object:
General Settings:
Parent = [1x1 videoinput]
Selected = on
SourceName = Depth Source
Tag = [0x0 string]
Type = videosource
Device Specific Properties:
Accelerometer = [-0.09768 -0.95238 -0.21856]
CameraElevationAngle = 13
FrameRate = 30.0918
IREmitter = on
As you can see, many Device Specific Properties are not accessible on my device. And they are all related to skeleton tracking. It seems like my kinect doesn't even have any Skeleton Tracking features. Does anyone know this issue and how to fix it?
Sorry for the French Commentaries in the Code, and the bad English. Thank You for taking time to read my problem.
Accepted Answer
More Answers (3)
Unice Marasgian
on 13 Jul 2017
0 votes
Hi! I tried using this code with a Kinect V2 sensor. But there was a time lag present on the frames (not realtime). So I would like to ask if there is also time lag present when you used a Kinect V1 sensor. Thanks!
1 Comment
Alessandra Martinez
on 19 Jan 2023
Hello, did you get to fix the lag? I'm having the same issue
Khan Rafin Ahmed
on 20 Oct 2017
0 votes
Hello there,
I have also face this similar issue with the R2017 version of MatLab. Coudln't get a fix. But solved my problem was to run the code on previous version of Matlab like R2015a. MATLab functions are updated with every new version. Hence one code which runs on 2015 one doesn't run on 2017. They are independent. & Yes you can have both MatLab installed in the same computer and run them both.
Andrei
on 2 Aug 2018
0 votes
This error can occur in either of the following two situations: 1. Using a Kinect for XBox 360 device, which is unsupported. 2. Using a Kinect v2 device with code written for Kinect for Windows Sensor v1.
Categories
Find more on Acquisition Using Kinect for Windows Hardware in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!