- https://www.mathworks.com/matlabcentral/answers/369933-i-have-following-code-i-want-to-perform-following-task-on-many-images-reading-from-directory-kindl (this one)
- https://www.mathworks.com/matlabcentral/answers/368049-i-have-directory-which-has-many-images-i-want-to-perform-face-detection-and-cropping-process-on-th
- https://www.mathworks.com/matlabcentral/answers/368409-how-to-create-loop-to-read-many-images-from-directory-and-then-create-a-folder-for-each-image-and-sa
- https://www.mathworks.com/matlabcentral/answers/367782-i-have-directory-there-are-many-images-in-this-directory-i-want-to-detect-the-face-from-images-an
I have following code, i want to perform following task on many images reading from directory. kindly help me through code.
2 views (last 30 days)
Show older comments
I=imread('E:\a.jpg');
figure(1),imshow(I);
FaceDetect = vision.CascadeObjectDetector;
BB = step(FaceDetect,I);
figure(2),imshow(I);
for i = 1:size(BB,1)
rectangle('Position',BB(i,:),'LineWidth',3,'LineStyle','- ','EdgeColor','r');
end
for i = 1:size(BB,1)
J= imcrop(I,BB(i,:));
% figure(3),subplot(5,5,i);imshow(J);
fname = sprintf('b_cropped_%d.jpg', i);
fpath = fullfile('E:\face', fname);
imwrite(J, fpath)
% imwrite(J,'E:\g_cropped.jpg')
end
Answers (1)
Jan
on 29 Nov 2017
Edited: Jan
on 29 Nov 2017
Simply replace
I = imread('E:\a.jpg');
by
Folder = 'E:\';
FileList = dir(fullfile(Folder, '*.jpg'));
for iFile = 1:numel(FileList)
File = fullfile(Folder, FileList(iFile).name);
I = imread(File);
...
% Consider the name or index of the original file:
fname = sprintf('b_cropped_%d_%d.jpg', iFile, i);
...
end
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!