How to Fix Crop Image Error
5 views (last 30 days)
Show older comments
Jesus Sanchez
on 26 Nov 2015
Answered: Image Analyst
on 26 Nov 2015
Hi I have a problem croping an image. This is my code but everytime it throws me an error that says "Index exceeds matrix dimensions". In matlab2008 it worked fine, I really don´t know why in matlab2014 throws me this error.
[filename pathname] = uigetfile({'*.jpg';'*.bmp';'*.tiff'},'File Selector');
images = strcat(pathname, filename);
axes(handles.axes1);
imshow(images);
axes(handles.axes2);
im = imread (images);
e1a1=im(200:1000,2:500);
imagesc(e1a1);
0 Comments
Accepted Answer
Image Analyst
on 26 Nov 2015
The image in R2008 was either bigger than 1000 by 500, or it was grayscale. You're either now using a smaller image, or a color one.
fullFileName = fullfile(pathname, filename);
im = imread(fullFileName );
[rows, columns, numberOfColorChannels] = size(im);
if rows < 1000 && columns < 500
message = sprintf('Error: this image is too small.\nIt has %d rows and %d columns\nand needs at least\n1000 rows and at least 500 columns', rows, columns);
uiwait(errordlg(message));
return;
end
if numberOfColorChannels > 3
% Color image
e1a1 = im(200:1000, 2:500, :);
else
% Grayscale image
e1a1 = im(200:1000, 2:500);
end
0 Comments
More Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!