De-scattering and edge-enhancement algorithms for underwater image restoration