First, and not tested, Sobel edge function