Compared implementations of the Sauvola algorithm with various approaches