I always like to joke that, with proprietary software, you get the best developers money can buy, but with free and opeen-source software, you get he best developers money can't buy.
It's an impressive program. Simon deserves a lot of credit and gratitude for giving it to the world.
To find optical flow, you first pick out a collection of sample points in frame A. What constitutes a good sample point depends on your specific algorithm, although generally speaking you pick "corners". In OpenCV, you can easily do this by calling cvGoodFeaturesToTrack().
You then search for those same sample points in the successive frame B, and end up with a collection of vectors that probably represent the motion of each point. Using OpenCV, this is usually done with cvCalcOpticalFlowPyrLK().
This is very cool, thanks for that. Can we run this on a GPU? If not, how feasible would dense optical flow running on cpu be in terms of speed to convert short non-hd videos?
Optical Flow is a method for determining the movement between two or more frames of video. This data is then used for morphing the frames into one another, or moving the underlying vertexes of the textures from one position to the next.
This is quite amazing! I was thinking if you could use this application with a video based security could you reduce the amount of disk space required.
Thoughts?
I'm sure there are other applications as well
That makes me shudder. Security footage "compressed" this way wouldn't stand up in court (I hope); did the guy on the tape really do that, or did the algorithm just fill it in?
It's an impressive program. Simon deserves a lot of credit and gratitude for giving it to the world.