This question is closed. Reopen it to edit or answer.

problem with cropping images across 6 images

1 view (last 30 days)
joanna on 1 Nov 2012
Closed: MATLAB Answer Bot on 20 Aug 2021
i want to crop an image and automatically crop the other 5 images instead of cropping one by one. this is the code i used but i cannot seem to make the 5 other images appear.
[I1c rect] = imcrop(handles.axes2) axes(handles.axes2); imshow(I1c);
I2c = imcrop(handles.axes3, rect)
I3c = imcrop(handles.axes4, rect)
I4c = imcrop(handles.axes5, rect)
I5c = imcrop(handles.axes9, rect)
I6c = imcrop(handles.axes10, rect)

Answers (1)

Image Analyst
Image Analyst on 1 Nov 2012
You aren't cropping an image. You are cropping the handle to an axes control, NOT an image. Try something like this:
I2c = imcrop(I2, rect);
I3c = imcrop(I3, rect);
I4c = imcrop(I4, rect);
I5c = imcrop(I5, rect);
I6c = imcrop(I6, rect);
Image Analyst
Image Analyst on 2 Nov 2012
If you captured from a camera, they're in a variable, like
snappedImage = getsnapshot();
If you "have a type of array" where you loaded images from disk files in a folder then of course you must already have the filenames otherwise you would never have been able to "load" them, which you must have done via imread anyway, which is what you're trying to do, so that's ironic. OK, tell me this. When you "loaded an array of images loaded from folders" what lines of code did you actually use to accomplish that? Apparently you didn't use imread() because you're having trouble doing that now, so what did you do? How did you get that second type of array you mentioned - the one you loaded from folders? Did you follow the FAQ (>)? Or did you do something else? Or do you not have that second type of array yet?

Community Treasure Hunt

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

Start Hunting!