How to make this code in loop - Image processing

2 次查看(过去 30 天)
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
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Image Segmentation and Analysis 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by