MATLAB: Error while using rgb2gray

image processingMATLAB

???Error using ==>rgb2gray>parse_inputs at 82 MAP must be a m*3 array.
Error in ==>rgb2gray at 35 X=parse_inputs(varargin{:});
Error in ==>match at 167 im1=(double(rgb2gray(I)));
Can anyone please tell me why rgb2gray is showing problem.And what is meaning of error.

Best Answer

First of all, pick a different name than I. I looks too much like 1 and l. Maybe use rgbImage. Then say "whos I" on the command line and see what it says. Also, you don't need the parentheses around the double() command. So you can do something like
whos rgbImage
size(rgbImage)
doubleRGBImage = double(rgb2gray(rgbImage));
If you still can't figure it out, come back here and tell us what else you learned. My guess is that your I is not a normal color image with 3 color channels.