Unable to perform assignment because the indices on the left side are not compatible with the size of the right side
1 次查看(过去 30 天)
显示 更早的评论
Hello,
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
cropped(i)=imcrop(im)
end
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.
Thanks.
0 个评论
采纳的回答
Ameer Hamza
2020-10-2
编辑:Ameer Hamza
2020-10-2
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
cropped{i}=imcrop(im);
end
Access them using brace indexing
cropped{1}; % first cropped image
cropped{2}; % second cropped image
..
..
cropped{end}; % last cropped image
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Read, Write, and Modify Image 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!