How do I save image in folder using imrite and how do I show all the image in folder?
4 次查看(过去 30 天)
显示 更早的评论
Dayangku Nur Faizah Pengiran Mohamad
2022-10-15
回答: Image Analyst
2022-10-16
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 个评论
采纳的回答
Image Analyst
2022-10-16
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 个评论
更多回答(1 个)
Jan
2022-10-15
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 个评论
Jan
2022-10-16
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.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!