Implemented canny edge detector