After recording 10 minutes of waves on the beach of Scheveningen, NL, in November 2018, I extracted the wave fronts in order to draw how far the waves reached up the beach before returning - something one can never observe as the new waves wipe out the tracks of the previous waves.
To approximate the view from overhead, I first used the perspective correction from boofcv.
Finding the wave crest across the image works surprisingly well with Seam Carving, though I had to extend the ‘neighborhood’ of pixel to allow stronger deviations from the straight line (I used ±2 pixels). I tried different energy functions - surprisingly the negative of the normally used maximum gradient function works quite well, but I mixed it with an energy function focusing on white pixels and added a bias favoring lines closer to the upper part of the beach.
Finally, one has to identify the maximum reach of the waves: for this I measured the closeness between the detected waves in successive video frames, as closeness is related to the wave reaching its maximum extent before returning back.
The above video tries to show the process with different stages (and progressing speed) to end with the resulting structure of maximum wave fronts.
It would be cool to do something similar for a longer time period to observe the working of the tides …