Hi there,
I need to read several images from a folder (BigImage), split them into 4, and save the new images in another folder(Split).
here is my code, imwrite it will save only one new image, how ceate a loop to save all the new images?
N = 'C:\Users\BigImage';
S = dir(fullfile(N,'*.png'));
for k = 1:numel(S)
F = fullfile(N,S(k).name);
I = imread(F);
[r c p]= size(I);
A = I(1:r/2, 1:c/2, :);
B = I(1:r/2, c/2+1:c, :);
C = I(r/2+1:r, 1:c/2, :);
D = I(r/2+1:r, c/2+1:c, :);
cd 'C:\Users\split'
for ii = 1:k
imwrite( B, strcat ('part2', num2str(ii),'.png'));
end
end

 채택된 답변

KALYAN ACHARJYA
KALYAN ACHARJYA 2020년 1월 25일
편집: KALYAN ACHARJYA 2021년 2월 25일

1 개 추천

#Do change as per requirement.
Images=dir('C:\input_path\folder_name\*.png'); % Folder with input Images
outDirectory='C:\out_put_path\out_folder_name\'; % Save Folder
for i=1:length(Images)
ImgName=strcat('C:\C:\input_path\folder_name\',Images(i).name);
In_image=imread(ImgName);
%% Do operation
%Save the image, say result_image
imwrite(result_image,strcat(outDirectory,Images(i).name));
end

댓글 수: 3

narges
narges 2020년 1월 25일
편집: narges 2020년 1월 25일
Thank you Kaylan, Its work :)
KALYAN ACHARJYA
KALYAN ACHARJYA 2020년 1월 25일
편집: KALYAN ACHARJYA 2021년 2월 25일
Consider all images in one folder, output folfer will automatically creates in the respective path
Images=dir('C:\Users\BigImage\*.png'); % Folder with input images
%.....................^^ Input Folder Name
outDirectory='C:\Users\Desktop\split' % Output folder will automatically creates
narges
narges 2020년 1월 25일
Yes, Thanks a lot

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Images에 대해 자세히 알아보기

질문:

2020년 1월 25일

편집:

2021년 2월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by