save images as tif 32 bits by using imwrite
25 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Soum
le 7 Fév 2014
Réponse apportée : Ashish Uthama
le 7 Fév 2014
Hi;
I'm trying to save my images as tif 32 bits but I got this Error:
Cannot write uint32 data to a TIFF file
this is my code:
for K=1:10
Id{k} = waverec2(t_C,L,'sym8');
filename= ['C:\Path \Id_number_' num2str(k) '.tif'];
Id{k}=uint32(Id{k});
imwrite(Id{k},filename);
end
I need to save my images as tif 32 bits :/ have you any idea?
Thank you in advance
0 commentaires
Réponse acceptée
Andreas Goser
le 7 Fév 2014
There is something in recent release called TIFF Class. Can you tell me if this meets your needs? Documentation here.
Plus de réponses (1)
Ashish Uthama
le 7 Fév 2014
Soum, did you click on the documentation link? Andreas was talking about the Tiff class, which is a different interface than IMWRITE.
Here is how you can use the Tiff class:
%
% Start with:
% http://www.mathworks.com/help/matlab/import_export/exporting-to-images.html#br_c_iz-1
data = uint32(magic(10));
This is a direct interface to libtiff
t = Tiff('myfile.tif','w');
% Setup tags
% Lots of info here:
% http://www.mathworks.com/help/matlab/ref/tiffclass.html
tagstruct.ImageLength = size(data,1);
tagstruct.ImageWidth = size(data,2);
tagstruct.Photometric = Tiff.Photometric.MinIsBlack;
tagstruct.BitsPerSample = 32;
tagstruct.SamplesPerPixel = 1;
tagstruct.RowsPerStrip = 16;
tagstruct.PlanarConfiguration = Tiff.PlanarConfiguration.Chunky;
tagstruct.Software = 'MATLAB';
t.setTag(tagstruct)
t.write(data);
t.close();
d = imread('myfile.tif');
disp(class(d));
assert(isequal(d,data))
0 commentaires
Voir également
Catégories
En savoir plus sur Image Data dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!