Checking the type of Image in '' if '' statement

3 views (last 30 days)
Hello
I have a simple question that bother me a lot in making a function. I want the function to take as input either a label image or rgb image. I do not know how to program the function to check what is the format of the input image and the process it accordingly.
Is there a simple way to determine between two input image formats ?
Thank you in advance

Accepted Answer

Walter Roberson
Walter Roberson on 26 Jun 2012
RGB images have 3 dimensions. Label images do not (well, not unless you label a 3 dimensional object.)
  1 Comment
Walter Roberson
Walter Roberson on 26 Jun 2012
You cannot tell the difference between a label image that contains only 0 and 1 for labels, compared to a grayscale image that uses 0 for black and 1 for white and no other values. Both images would be floating point and the same range.
grayscale images can be an integer data type. Label images will (as far as I _remember_ be produced as floating point. But grayscale images can be floating point as well, in which case their values must be between 0 and 1. If you have a floating point array that has a value above 1 then it cannot be a grayscale image.

Sign in to comment.

More Answers (1)

Dimitris M
Dimitris M on 26 Jun 2012
Yes, this is correct but in some cases I introduce grayscale image (not mentioned above) . Is there a general solution for reading in information about every kind of image ?
Thank you

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!