Abstract. This paper describes a method to detect, measure the speed, and extract statistics of boats moving on a wide water surface using a single image stream taken from grayscale camera. The approach is based on a background subtraction technique combined with classification and tracking to improve robustness; it provides a stable detection even with sea waves and strong light reflections. The method returns correct speed values within the range ±5% in the 97% of use cases. The algorithm has been integrated in a speed warning prototype system on the Burano island in Venice, monitoring a 250 m wide channel slice. Images are captured by a high resolution camera and processed on site in real-time. Processing results can be accessed remotely for monitoring purposes. The system has been up and running for more than two years.