Filter löschen
Filter löschen

Info

Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.

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

1 Ansicht (letzte 30 Tage)
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?

Antworten (3)

Matthew Eicholtz
Matthew Eicholtz am 5 Okt. 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 am 5 Okt. 2016
The image is attached. Please advise

Guillaume
Guillaume am 5 Okt. 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);

Diese Frage ist geschlossen.

Community Treasure Hunt

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

Start Hunting!

Translated by