How do I read images from a folder and save it in a folder ( all in a loop)
조회 수: 1 (최근 30일)
이전 댓글 표시
clear all
clc
%Detect objects using Viola-Jones Algorithm
imgdir = 'C:\Users\Lewis\Documents\MATLAB\testingimage';
DestDir = 'C:\Users\Lewis\Documents\MATLAB\violajones\croppedimage';
%To detect Face
FDetect = vision.CascadeObjectDetector;
images = imgdir('*.jpg');
numfiles = length(images);
myimage = cell(1,numfiles);
for k = 1:numfiles
myimage{k} = imread(images(k).name);
%Returns Bounding Box values based on number of objects
BB = step(FDetect,myimage{k});
for i = 1:size(BB,1)
rectangle('Position',BB(i,:),'LineWidth',5,'LineStyle','-','EdgeColor','r');
cropimage = imcrop(myimage{k},BB(i,:));
end
filename = ['testingimage' ,num2str(k),'.jpg'];
save(filename);
end
This is what I did, but I think there is some problem with it.
댓글 수: 0
채택된 답변
Walter Roberson
2016년 10월 1일
images = dir( fullfile(imgdir, '*.jpg') );
and
myimage{k} = imread( fullfile( imgdir, images(k).name) );
and instead of
save(filename);
use
imwrite(croppedimage, fullfile(DestDir, filename));
댓글 수: 2
Walter Roberson
2016년 10월 1일
To use as output the original name but with a suffix, then:
name_suffix = '(01)';
[in_dir, in_basename, in_ext] = fileparts( images(k).name );
filename = [in_basename name_suffix in_ext];
instead of
filename = ['testingimage' ,num2str(k),'.jpg'];
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Manage Products에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!