I will try to document my efforts to implement chronophotography and other advanced visual effects in this thread.
There is a long road before any of these makes it up in Kinovea, but an important milestone was reached this week-end so I create the thread.
The first step of almost all these effects is to compute the motion of the camera.
This is equivalent to computing how to transform each frame so it looks like as much as the previous frame as possible, and do it for all the frames in the sequence.
The transformation parameters can be combined together, so basically at this point we can map each frame on the first frame of the sequence.
We can visualize the frames boundaries and compute the total size of the background.
Frame borders transformed and positionned against the virtual background. (high jump sequence same as below)
.
The second step is to compute an image of the panoramic background without the person moving in the foreground.
To do this we compute back all the contributing images to a given location in the final background. This gives a list of pixels each from a different frame of the video, most being of the color of background, some being the person when passing in foreground. The trick is to compute a pixel representative of the background using this group of pixels.
For this experiment, I used the median pixel of the group. It gives good results and it's easy to compute.
Here are some reconstructed backgrounds (with some pictures extracted from the corresponding videos for reference).
High jump sequence. Distorsion accumulates on the left.
Fixed-gear bicycle sequence.
.
To be continued…