How could I convert my png images to tiff?

16 次查看(过去 30 天)
this is my code:
clc; clear; close all;
imagePath = 'C:\Users\images';
savePath = 'C:\Users\images_tiff';
fileNames = dir(imagePath);
fileNames = fileNames(3:end);
for i = 1:size(fileNames,1)
varH =fileNames(i).name;
I= imread([imagePath '\' varH]);
imwrite(I ,[savePath '\' varH,'.tiff'],'tiff')
end
it convert my images ti tiff but add .png extension to them
  2 个评论
KSSV
KSSV 2020-9-30
What about the present code? Any error?
Leila
Leila 2020-9-30
it convert my images to tiff but add .png extension to them

请先登录,再进行评论。

回答(2 个)

Ameer Hamza
Ameer Hamza 2020-9-30
编辑:Ameer Hamza 2020-9-30
Your code will fail if the directly contain any other files other than png files (even hidden files). You need to specify the file type. Try this
clc; clear; close all;
imagePath = 'C:\Users\LENOVO\Dropbox\My PC (DESKTOP-A78LL8Q)\Desktop\task\grayScale';
savePath = 'C:\Users\LENOVO\Dropbox\My PC (DESKTOP-A78LL8Q)\Desktop\task\grayScale_tiff';
fileNames = dir([imagePath '\*.png']); % specify png here
for i = 1:numel(fileNames)
varH =fileNames(i).name;
I= imread([imagePath '\' varH]);
imwrite(I ,[savePath '\' varH(1:end-4),'.tiff'],'tiff')
end

Walter Roberson
Walter Roberson 2020-9-30
varH =fileNames(i).name;
That variable is going to contain the file name that you are reading in, without any directory part, but including the file extension.
imwrite(I ,[savePath '\' varH(1:end-4),'.tiff'],'tiff')
It still has that file extension in that line, and as well you are adding on a second file extension .tiff .
[~, basename, ~] = fileparts(varH);
newfile = fullfile(savePath, [basename '.tiff']);
imwrite(I, newfile, 'tiff');

类别

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