Info

La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.

why this gives me "Index exceeds matrix dimensions?" can any one help me. Thanks in advance

1 visualización (últimos 30 días)
figure
img = imshow(stretched_CIR);
title('CIR after Decorrelation Stretch');
h = imfreehand;
m = createMask(h, img);
delete(h)
% Extract individual color channels
r = img(:,:,1);
g = img(:,:,2);
b = img(:,:,3);
%Now I evaluate for RGB color channels;
>> r = img(:,:,1);
%works but
>> g = img(:,:,2);
Index exceeds matrix dimensions.
%why?

Respuestas (3)

Matthew Eicholtz
Matthew Eicholtz el 5 de Oct. de 2016
Are you sure the image is RGB instead of grayscale? As the error suggests, the variable img must not have a 2 layer in the 3rd dimension.

Surya Gnyawali
Surya Gnyawali el 5 de Oct. de 2016
The image is attached. Please advise

Guillaume
Guillaume el 5 de Oct. de 2016
The problem is with
img = imshow('...')
As per the documentation of imshow, its return value is a handle to a graphics object, not an image. You need to load the image properly with imread:
img = imread(stretched_CIR);
%and if you want to see the image
imshow(img);

La pregunta está cerrada.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by