Как исправить ошибку при использовании функции rgb2gray в gui?

#matlab-guide

#matlab-руководство

Вопрос:

Я пишу следующий код matlab для отображения 16-битного изображения в формате tiff по осям с использованием моего графического интерфейса:

  I1 = gpuArray(reshape(linspace(0,1,20),[5 4])); %performs the conversion on a GPU.
W = gather (I1);
[I1,map] = imread(fullname);
imshow(I1,map)
myImageAsGray = rgb2gray(map)
%graycomatrix ignores pixel pairs if either of the pixels contains a NaN,
%replaces positive Infs with the value NumLevels,
%replaces negative Infs with the value 1. 
%ignores border pixels, if the corresponding neighbor pixel falls outside the image boundaries
graycomatrix(I1, 'offset', [0 1], 'Symmetric', true)
graycomatrix(I1, 'offset', [0 1], 'Symmetric', false) 
graycomatrix(I1, 'offset', [0 -1], 'Symmetric', false)
imshow(myImageAsGray)
imagesc(myImageAsGray)
  

Я могу открыть и отобразить изображение (я также пытался использовать ind2rgb), но выдается сообщение об ошибке:

 :
Error using rgb2gray>parse_inputs (line 81)
MAP must be a m x 3 array.
Error in rgb2gray (line 35)
X = parse_inputs(varargin{:});
Error in que (line 9)
I = rgb2gray(old_image);
  

Как я могу устранить проблему?

Комментарии:

1. Вы видите это для всех изображений, которые вы загружаете в это?

2. Да, я пробовал с разными изображениями, и проблема та же.

3. Я также пытался проверить, что мое изображение в оттенках серого, но, вероятно, что-то не совсем корректно.