Image Segmentation and Saving image

조회 수: 8 (최근 30일)
Rosida Octavia Sitorua
Rosida Octavia Sitorua 2021년 2월 25일
댓글: Rosida Octavia Sitorua 2021년 3월 8일
hello I'm a final year student using Matlab for image segmentation but I have a problem. How do I save multiple pictures automatically? Please help, thank you
image_folder = 'C:\Users\ADMIN\Matlab\Implementasi';
outfolder = 'C:\Users\ADMIN\Matlab\Implementasi\output';
if ~isdir(outfolder); mkdir(outfolder); end
load mri %I presume it has the variable map in it
files = dir(fullfile(image_folder, '*.jpg'));
% filenames = fullfile({fileinfo.folder}, {fileinfo.name});
% total_images = numel(filenames);
for iFiles = 1:numel(files)
thisfilename = fullfile(files(iFiles).folder,files(iFiles).name);
% for n = 1 : total_images
% thisfile = filenames{n};
[~, basename, ext] = fileparts(image_folder);
citra = imread(thisfilename);
V = squeeze(citra);
fprintf('processing %s\n', basename);
citra3 = montage(reshape(V,size(citra)), map, 'Indices', 3);
outfile = fullfile(outfolder, sprintf(['%s-coba-%03d.%s',basename,ext]));
saveas(citra3, outfile);
end

채택된 답변

KALYAN ACHARJYA
KALYAN ACHARJYA 2021년 2월 25일
  댓글 수: 2
Rosida Octavia Sitorua
Rosida Octavia Sitorua 2021년 2월 25일
I have try this from the link which you give but it doesn't create a new folder and save the image to the new folder. Can you tell me why it doesn't work?
Images=dir('C:\input_path\folder_name\*.png'); % Create Folder
outDirectory='C:\out_put_path\out_folder_name\'; % Save Folder
for i=1:length(Images)
ImgName=strcat('C:\C:\input_path\folder_name\',Images(i).name);
In_image=imread(ImgName);
%% Do operation
%Save the image, say result_image
imwrite(result_image,strcat(outDirectory,Images(i).name));
end
KALYAN ACHARJYA
KALYAN ACHARJYA 2021년 2월 25일
Try with this way: Set the Current working directory in Input Folder Path
path_directory='...'; % 'Input Images Folder name Only'
original_files=dir([path_directory '/*.jpg']); % Folder Images in the same Directory
........................................^ Modify as per input images format
folder='output_folder'; % Create Folder to Save Results
for k=1:length(original_files)
filename=[path_directory '/' original_files(k).name];
image_orginal=imread(filename);
%%.Do Operation
result=
fullFileName = fullfile(folder, original_files(k).name);
imwrite(result,fullFileName);
end

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Rosida Octavia Sitorua
Rosida Octavia Sitorua 2021년 2월 27일
I'm sorry but there is error missing extra character in the code namely "result =". Can you tell me what is this mean?
  댓글 수: 2
KALYAN ACHARJYA
KALYAN ACHARJYA 2021년 2월 28일
Oh, this is partial code, the result, I represent the output image, which you want to save. Consider your output image there and change the result variable name accordingly.
Rosida Octavia Sitorua
Rosida Octavia Sitorua 2021년 3월 8일
I want to read all the images in the folder, then segmented and stored in a new folder. But when the segmentation process is only one image running, everybody help me? Thank you very much.
image_folder = 'C:\Users\ADMIN\Matlab\Implementasi';
outfolder = 'C:\Users\ADMIN\Matlab\Implementasi\cobaku';
if ~isdir(outfolder); mkdir(outfolder); end
figure, fig1=imshow(citra);
files = dir(fullfile(image_folder, '*.jpg'))
%change to grayscale
grayimg = rgb2gray(citra);
figure, fig2=imshow(grayimg);
%change to green channel
green_channel = citra(:,:,2);
figure, fig3=imshow(green_channel);
%change to CLAHE (Contrast Limited Adaptive Histogram Equalization)
CLAHE = adapthisteq(green_channel);
figure, fig4=imshow(CLAHE);
ER = edge(CLAHE, 'canny');
EG = edge(CLAHE, 'canny');
EB = edge(CLAHE, 'canny');
anyedge = ER | EG | EB;
figure, fig5=imshow(anyedge)
size(fig5)
load mri %I presume it has the variable map in it
for iFiles = 1:numel(files)
thisfilename = fullfile(files(iFiles).folder,files(iFiles).name);
[~, basename, ext] = fileparts(image_folder);
citra = imread(thisfilename);
V = squeeze(citra);
fprintf('processing %s\n', basename);
fig = figure;
citra3 = montage(reshape(V,size(citra)), map, 'Indices', 3);
outfile = fullfile(outfolder, sprintf('%s-coba-%03d.jpg', basename, iFiles));
saveas(citra3, outfile);
end

댓글을 달려면 로그인하십시오.

태그

Community Treasure Hunt

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

Start Hunting!

Translated by