problem with cropping images across 6 images

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)
axes(handles.axes3);
imshow(I2c);
I3c = imcrop(handles.axes4, rect)
axes(handles.axes4);
imshow(I3c);
I4c = imcrop(handles.axes5, rect)
axes(handles.axes5);
imshow(I4c);
I5c = imcrop(handles.axes9, rect)
axes(handles.axes9);
imshow(I5c);
I6c = imcrop(handles.axes10, rect)
axes(handles.axes10);
imshow(I6c);
guidata(hObject,handles)

Answers (1)

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);

6 Comments

must the images all be the same size in order for me to crop successfully?
what must i assign I2 to? i tried I2 = imread(handles.axes2) but it shows no results
Of course not. handles.axes2 is the ID number of an axes control - it's not a filename. You need to pass in a filename - that's a string, a character array - into imread().
how do i obtain the character array if i have 2 types of arrays, an array of images captured by camera (captureButton_Callback) and an array of images loaded from folders (loadButton_Callback) ?
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 ( http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F>)? Or did you do something else? Or do you not have that second type of array yet?

This question is closed.

Asked:

on 1 Nov 2012

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!