Added a new function called ImagePreProcessing that does preprocessing (gray level detection, edge detection, spatial filtering, etc.) on the input images. This way MSC will be able to recognise the image faster and correctly because edge detection adds orthogonality to the image.