How to convert optical flow velocity to meters per second?

6 次查看(过去 30 天)
Hi,
I have a calibrated camera and can convert positions from pixels to meters using the transformPointsInverse function. I am also estimating velocities of moving objects using the optical flow method provided in Computer Vision System Toolbox. However, I would like to convert the velocities from pixels/frame to meters/sec. How can I do this?
Obviously I tried
diff(position)/fps
but this magnifies noise in the signal so I don't get realistic velocities.

回答(1 个)

Dima Lisin
Dima Lisin 2015-2-24
Hi Erik,
You should multiply by fps, instead of dividing. The time between two frames in seconds is 1/fps.
Also, are you reading the video from a file, or are you processing live video? In the latter case, you would not really know your frame rate, because it would depend on how much processing you are doing. The best thing to do would be to get the timestamp for the frames that you are comparing.
  3 个评论
Dima Lisin
Dima Lisin 2015-2-25
Are you sure that you are computing the distances in meters correctly? How exactly are you calibrating your camera?
ANTONIO FRANCESCHIELLI
Anche io ho un problema del genere. Vorrei capire come trasformare la mia velocità (Vx e Vy) del flusso ottico da pixel per frame a metro al secondo.
I have a similar problem too. I would like to understand how to transform my velocity (Vx and Vy) of optical flow from pixels per frame to meters per second

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by