Azzera filtri
Azzera filtri

How could I convert my png images to tiff?

15 visualizzazioni (ultimi 30 giorni)
Leila
Leila il 30 Set 2020
Commentato: Ameer Hamza il 30 Set 2020
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 Commenti
KSSV
KSSV il 30 Set 2020
What about the present code? Any error?
Leila
Leila il 30 Set 2020
it convert my images to tiff but add .png extension to them

Accedi per commentare.

Risposte (2)

Ameer Hamza
Ameer Hamza il 30 Set 2020
Modificato: Ameer Hamza il 30 Set 2020
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 il 30 Set 2020
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');

Community Treasure Hunt

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

Start Hunting!

Translated by