How do I save image in folder using imrite and how do I show all the image in folder?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Dayangku Nur Faizah Pengiran Mohamad
am 15 Okt. 2022
Beantwortet: Image Analyst
am 16 Okt. 2022
Here my codes:-
%Save the folder of images in the current directory
path_directory='/home/motmot/Documents/Malignant/M1/Testing/benign/validate_image/b245'; % 'Folder name'
original_files=dir([path_directory '/*.jpg']);
for k=1:length(original_files)
filename=[path_directory '/' original_files(k).name];
image_orginal=imread(filename);
img=im2double(image_original);
[r,c,b]=size(img);
data=reshape(img,r*c,b);
[ctr, class]=fcm(data,2);
disp(ctr);
class1=reshape(class(2,:),r,c);
imshow(class1);
imwrite(class1,'fcmgrayb245_73_864_rap00001.jpg');
end
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 16 Okt. 2022
If the images are not showing, except for the last one. Put a drawnow right after you call imshow.
imshow(class1);
drawnow;
This will force the images to update on the screen immediately. Otherwise if your loop is too fast, maybe only the last one is shown.
0 Kommentare
Weitere Antworten (1)
Jan
am 15 Okt. 2022
Maybe you want to create the file name dynamically:
...
outFile = fullfile(path_directory, sprintf('fcmgrayb245_73_864_rap%05d.jpg', k));
imwrite(class1, outFile);
2 Kommentare
Jan
am 16 Okt. 2022
See: doc sprintf, or sprintf
The %05d appears in the sprintf command. Then it influences the output to a char vector and not the number of times of saving. Try this:
sprintf('%05d', 17)
sprintf('%5d', 17)
sprintf('%d', 17)
The %5d reserves 5 characters. With %05d the leading characters are filled by zeros.
"fcmgrayb245_73_864_rap00001.jpg" looked like you want to append a counter at the end of the file name.
Siehe auch
Kategorien
Mehr zu Environment and Settings finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!