MATLAB Answers

How to save multiple output images with same file type as the original input image?

1 view (last 30 days)
Tawsif Mostafiz
Tawsif Mostafiz on 27 Aug 2021
Answered: yanqi liu on 27 Sep 2021 at 3:07
I am taking multiple input images, and doing active contour segmentation like this:
[B,L]=bwboundaries(tumor,'noholes'); %draw boundaries around the tumor and no holes needed.
for i=1:length(B)
rows, columns, numberOfColorChannels] = size(imageArray);
mask = poly2mask(B{i}(:,2),B{i}(:,1), rows, columns);
end
B0=mask;
img1=activecontour(imageArray,B0,iteration,'edge');
Now, I want to save img1, which is a biinary image, as the same file extension as the original image. If the original image is in png, I want the mask also to be png.
In am using the following to save output,
path = myFolder; % mention your path
myfolder = 'Segmented Pictures' ; % new folder name
folder = mkdir([path,filesep,myfolder]) ;
path = [path,filesep,myfolder] ;
temp=[path,filesep,baseFileName,'.png'];
saveas(gca,temp);
But here, I have to select the output image type (here it is .png) and the output is like this, with white borders all around(like the output figure in matlab),
I want to input multiple images and want to save the output images in a selected folder, similar like the code above. The output images should look like this(This is not mask for another image):
How do I do it?

Answers (1)

yanqi liu
yanqi liu on 27 Sep 2021 at 3:07
sir,please check the follow code to get some information
[~,~,filetype] = fileparts('youfile.jpg')
filetype = '.jpg'
clc; clear all; close all;
im = imread('https://www.mathworks.com/matlabcentral/answers/uploaded_files/723174/image.png');
im = im2bw(im);
figure; imshow(im)
im = imclearborder(im);
figure; imshow(im)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!