フィルターのクリア

Batch processing images for downsampling

2 ビュー (過去 30 日間)
Cemre
Cemre 2023 年 6 月 13 日
コメント済み: Mathieu NOE 2023 年 6 月 14 日
Hi,
I would like to perform downsampling for like over 700 images. It is pretty time-consuming to do it one by one. How can I achieve it at one time?
Thanks a lot.

採用された回答

Mathieu NOE
Mathieu NOE 2023 年 6 月 13 日
hello
see example below - adapt to your own needs
%% Initalize the data
dataDir= fullfile(pwd); % select appropriate directory
exts = {'.jpg','.png','.tif'}; % choose valid file extensions like {'.jpg', '.png'}
resize_size = 100; % pixels size for output img
imds = imageDatastore(fullfile(dataDir),...
'IncludeSubfolders',true,'FileExtensions',exts,'LabelSource','foldernames');
countEachLabel(imds);
numImages = numel(imds.Files);
for i = 1:numImages
img = readimage(imds, i);
[m,n,p] = size(img);
% compute scale factor (same on both dimensions)
scale_factor = min(resize_size/m,resize_size/n);
img3= imresize(img, scale_factor);
figure(i),
img4= imshow(img3, 'InitialMagnification', 800);
drawnow;
Train{i} = (img3); %output image stored in cell
end
  8 件のコメント
Cemre
Cemre 2023 年 6 月 14 日
Many thanks. Much appreciated.
Mathieu NOE
Mathieu NOE 2023 年 6 月 14 日
as always, my pleasure !

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeIntroduction to Installation and Licensing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by