Name of saved image should be the same than read image

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

采纳的回答

Image Analyst
Image Analyst 2016-6-11
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Convert Image Type 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by