How to make this code in loop - Image processing

Hello, I have to process in loop many drone images.
I succeeded to get a script that works, but I could not make it work in loop to process the whole images in the folder.
I need to save the mask 2 as a JPG image after each loop. For opening multiple images in one folder, that I know how to do it. for the rest I don't know how to make a loop.
close all, clear all
cd 'D:\TEST\1-1000_0.35ms_200625\';
im = imread('DJI_0204.jpg');
lab = rgb2lab(im);
ab = lab(:,:,2:3);
ab = im2single(ab);
nColors = 2;
% repeat the clustering 3 times to avoid local minima
pixel_labels = imsegkmeans(ab,nColors,'NumAttempts',2);
imshow(pixel_labels,[])
%%
mask1 = pixel_labels==1;
cluster1 = im .* uint8(mask1);
imshow(cluster1)
title('Objects in Cluster 1');
%%
mask2 = pixel_labels==2;
cluster2 = im .* uint8(mask2);
imshow(cluster2)
title('Objects in Cluster 2');
imwrite(cluster2, 'mask_test1.jpg')

답변 (1개)

Sudhakar Shinde
Sudhakar Shinde 2020년 11월 3일

0 개 추천

Loop to read images:
my_folder =pwd; %Folder path where images are present
filenames=dir(fullfile(my_folder,'*.jpg'));
Image = {};
for n = 1:numel(filenames)
fullname=fullfile(my_folder,filenames(n).name);
Image{end+1} = imread(fullname);
%Use your code here from converting to lab colors
%....
% ...
%
end
You can use your code in above for loop .

댓글 수: 1

YEMY
YEMY 2020년 11월 3일
I didn't have problems with importing files. I had issues with making for loops to automate the processing. By the way I think I managed to do it after several tries. Thank you anyway.

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

카테고리

도움말 센터File Exchange에서 Image Segmentation and Analysis에 대해 자세히 알아보기

제품

릴리스

R2020b

질문:

2020년 11월 2일

댓글:

2020년 11월 3일

Community Treasure Hunt

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

Start Hunting!

Translated by