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

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

回答(1 个)

yanqi liu
yanqi liu 2021-9-27
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)

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by