Speed calculation of a gesture

3 views (last 30 days)
Shweta Saboo
Shweta Saboo on 1 Jan 2021
Commented: Image Analyst on 1 Jan 2021
I have a gesture and want to calculate its speed. I have got its x and y axis points. How can speed profile of a gesture can be claculated using trajectory points??

Answers (1)

Image Analyst
Image Analyst on 1 Jan 2021
  1. Use sqrt to find the distance in pixels it traveled from one frame to the next.
  2. Multiply by your spatial calibration factor to convert from pixels to centimeters.
  3. Divide the distance in cm by the frame time.
Something like
distanceInPixels = sqrt(x1 - x2) ^ 2 + (y1 - y2) ^ 2);
distanceInCm = distanceInPixels * cmPerPixel;
speed = distanceInCm / frameTimeInSeconds;
To get the spatial calibration factor, see attached demo.
  2 Comments
Shweta Saboo
Shweta Saboo on 1 Jan 2021
Thanks for the answer. But How to calculate frame time in seconds?
Image Analyst
Image Analyst on 1 Jan 2021
When you open the videoReader, it is the NumberOfFrame property. See the help for videoReader. It might be 1/30 of a second.
frameTimeInSeconds = 1/30; % For standard US (or 1/29.94).

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!