cropping multiple images in the folder automatically using imcrop with same cropping area
1 view (last 30 days)
Show older comments
I have 12 images in the folder, i have wrritten a code for cropping those images and saving them automatically with the same cropping area if you crop one image.
Problem i am facing is, it is cropping first image only and saving that first cropped image 12 times (because number images are 12) with different image names (Sample3_ 1, Sample3_ 2,....,Sample3_ 12) as i suggested in the code not cropping remaing 11 images. Can anyone please let me know what is wrong with my code or suggest me how can i get it done.
Below is code for reference
numFiles = numel(FileNames); % no of images 12
for m = 1:numFiles
a = imread(FileNames{m});
if m == 1
ROI=imcrop(a);
drawnow;
end
filename = sprintf('Sample3_ %d.tiff', m);
fpath = 'C:\Users\Admin\Documents\MATLAB\DIC Challenge 1.0/EXAMPLE_SAMPLE'
fullFileName = fullfile(fpath, filename); imwrite(ROI, fullFileName)
end
Thanks in advance
2 Comments
Rik
on 7 Jan 2023
I don't get notified by a tag. I happened to see this question, but I could easily have missed it.
How exactly did you want to solve the problem that your images are not the same size?
Accepted Answer
KSSV
on 7 Jan 2023
fpath = 'C:\Users\Admin\Documents\MATLAB\DIC Challenge 1.0/EXAMPLE_SAMPLE' ;
numFiles = numel(FileNames); % no of images 12
for m = 1:numFiles
a = imread(FileNames{m});
if m == 1
[ROI,Rect]=imcrop(a);
drawnow;
[m,n,p] = size(a) ;
else
% a = imresize(a,[m n]) ; % in case images are of different size use this
ROI = imcrop(a,Rect) ;
end
filename = sprintf('Sample3_ %d.tiff', m);
fullFileName = fullfile(fpath, filename); imwrite(ROI, fullFileName)
end
More Answers (1)
See Also
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!