Optical Flow in Single Video Frame

8 views (last 30 days)
youngz
youngz on 18 Jul 2019
Answered: kuku hello on 27 Mar 2022
Hi,
I am looking to the example available in the pages of the different algorithms implementations of optical frame (e.g., https://it.mathworks.com/help/vision/ref/opticalflowlk.html ).
The optical frame should estimate the direction and speed between two frames in a video. Anyway, in the example, it gets in input a single video frame - i.e. flow = estimateFlow(opticFlow,frameGray); -. Consequentially, how it is able to compute the flow using a single image?
Thanks

Answers (2)

Roshni Garnayak
Roshni Garnayak on 2 Aug 2019
In the example (https://www.mathworks.com/help/vision/ref/opticalflowlk.html), an optical flow object has been created using the class opticalFlowLK. This class has a function estimateFlow which computes the optical flow between the frame specified in the argument of the function and the previous frame.
For detailed working of the function, you can type the following command in the Command Window:
edit estimateFlow
  2 Comments
Tintumon
Tintumon on 28 Jan 2021
Edited: Tintumon on 28 Jan 2021
I went through the estimateFlow code and understood that the previous frame is obtained from the frame buffer.
But,I needed to evaluate the optical flow methods for two consecutive images (as obtained from middlebury dataset). In this case, is there any workaround to estimate optical flow for only the two given frames?
Specifically I wanted to evaluate the Lukas Kanade, Horn & Schunk, Farnebach optical flow algorithms (which are all part of estimateFlow class, I believe.)
Julius Å
Julius Å on 11 Feb 2021
Edited: Julius Å on 11 Feb 2021
I'm also interested in the answer to this question. Have you found out how this can be done?

Sign in to comment.


kuku hello
kuku hello on 27 Mar 2022
As been told above, try to do edit estimateFlow and you will see the following comment:
reset(flow) resets the internal state of the object. It sets the previous frame to black.
Which means that if it didn't have any frame before the one you are using it creates a black frame.

Community Treasure Hunt

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

Start Hunting!