Creating new Figures from a batch of processed images and writing the new figures to a new folder.

3 views (last 30 days)
The code below reads in a batch of images from a folder 'FlatImages', uses a function to mark white edges on the data, creates a new figure of the original image with the new regions marked. How Would I go about writing the new figures to A new folder called 'SegmentedImages'? I'm not very familiar with the print function??
InputFolder = fullfile(pwd, 'FlatImages');
filePattern = fullfile(InputFolder, '*.bmp');
BmpFiles = dir(filePattern);
OutputFolder = fullfile(pwd, 'SegmentedImages');
for i=1:length(BmpFiles)
fname = BmpFiles(i).name;
FullFileNameInput=fullfile(InputFolder, fname);
A=imread(FullFileNameInput);
[s f]=get_white_edges2(A);
Fname_out=['WE_' fname];
figure, imshow(A); hold on; plot([s f]);
FullFileNameOutput=fullfile(OutputFolder, Fname_out);
print(A, FullFileNameOutput);
end

Accepted Answer

Sean
Sean on 22 Feb 2015
Got it working with the code below:
InputFolder = fullfile(pwd, 'FlatImages');
filePattern = fullfile(InputFolder, '*.bmp');
BmpFiles = dir(filePattern);
OutputFolder = fullfile(pwd, 'SegmentedImages');
for i=1:length(BmpFiles)
fname = BmpFiles(i).name;
FullFileNameInput=fullfile(InputFolder, fname);
A=imread(FullFileNameInput);
[s f]=get_white_edges2(A);
Fname_out=['WE_' fname];
%FullFileNameOutput=fullfile(OutputFolder);
figure; imshow(A); hold on; plot([s f]);
FullFileNameOutput=fullfile(OutputFolder, Fname_out);
print(gcf, '-dbmp', FullFileNameOutput);
end

More Answers (0)

Categories

Find more on Images in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!