Name of saved image should be the same than read image

3 Ansichten (letzte 30 Tage)
Veilchen1900
Veilchen1900 am 11 Jun. 2016
Kommentiert: Veilchen1900 am 12 Jun. 2016
Hello! I read images using imread, remove the lens distortion and then write it to a new created folder.The code works but I don't have the original name of the images anymore. I want that the image name e.g. 20160406.png is the same for the new undistorted image. How can I do that?
This is my code:
z=dir('*.png');
NewFolder=mkdir('NewFolder');
for k = 1:numel(z)
X=imread(z(k).name);
Y=undistortImage(X,cameraParams);
imwrite(Y,['NewFolder/', num2str(k),'.png']);
end

Akzeptierte Antwort

Image Analyst
Image Analyst am 11 Jun. 2016
Try this:
files = dir('*.png');
if exist('NewFolder', 'dir')
NewFolder=mkdir('NewFolder');
end
for k = 1:numel(z)
% Get input base file name.
thisImage = imread(files(k).name);
% Correct the image.
correctedImage = undistortImage(thisImage, cameraParams);
% Create the output filename.
baseFileName = files(k).name; % Same as source filename.
fullOutputFileName = fullfile(NewFolder, baseFileName);
% Save the output image.
imwrite(correctedImage, fullOutputFileName);
end

Weitere Antworten (0)

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by