Write a MATLAB GUI code that can upload any image and enable the user to apply basic image processing methods. The required main methods are:
Convert the image to a gray level.
Convert the image to binary (use one of the thresholding methods).
Enable the user to reset to the original image.
Show the image histogram.
Enable the user to complement the image.
Apply edge detection on the image (use one of the leading edge detection methods).