Unable to perform assignment because the indices on the left side are not compatible with the size of the right side

1 view (last 30 days)
YEMY on 2 Oct 2020
Commented: Ameer Hamza on 2 Oct 2020
I am trying to crop different parts of an image. the objects cannot be attained automatically or by coordinates so I have to crop them manually.
The code that I am using is:
im = imshow('DJI_0834.jpg');
for i = 1:30
It shows the image with the crop cursor but when I try to save the first crop it shows the error message in the title.
I also have a question if I can automatically save them as JPG files after finishing the crop.

Accepted Answer

Ameer Hamza
Ameer Hamza on 2 Oct 2020
Edited: Ameer Hamza on 2 Oct 2020
imcrop return an image (2D or a 3D array). You cannot assign it as an element of a numeric array. You need a cell array
im = imshow('DJI_0834.jpg');
cropped = cell(1, 30);
for i = 1:30
Access them using brace indexing
cropped{1}; % first cropped image
cropped{2}; % second cropped image
cropped{end}; % last cropped image

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!