Hi mohd akmal,
In MATLAB, the functions “otsuthresh”, “graythresh”, and “multithresh” are used for image thresholding. All these functions employ the Otsu’s method internally to determine optimal threshold values. The differences between them are as follows:
otsuthresh
- The input to the function is a histogram of image intensities.
- The output is a normalized threshold value between 0 and 1.
graythresh
- The input to the function is a grayscale image. Internally, it first computes the histogram and then applies Otsu’s method.
- The output is a normalized threshold value between 0 and 1.
multithresh
- The input to the function is a grayscale image and the number of thresholds desired.
- The output is an array of threshold values.
While “otsuthresh” and “graythresh” are useful for segmenting an image into two regions, typically foreground and background, “multithresh” is used to segment an image into multiple regions.
To know more about each of these functions, refer to the MATLAB documentation listed below:
I hope the explanation addresses your question!