I have a matix of class double but when i am converting it to an image by imwrite it's class changes to uint8 but i want it to be double type what should i do?

7 次查看(过去 30 天)
matix to image

回答(2 个)

Walter Roberson
Walter Roberson 2018-11-21
There is no supported way to write double precision images in matlab . There are supported ways to write single precision tiff and dicom. Only tiff and png and dicom support double precision at all in their standards but matlab does not support creating them (unless possibly tiff support was added recently ) . One of the links above leads to aa File Exchange contribution that claims to support double precision tiff.
In my experience everyone who has asked for imwrite to support double precision has had a weak understanding of image file formats . The people who have had good reason to deal with double precision images have directly asked about the tiff class or about dicom transfer syntaxes.
  10 个评论
Guillaume
Guillaume 2018-11-23
And, yes I don't think matlab lets you access private chunks of a PNG. Perhaps, they ought to provide a PNG interface similar to the TIFF interface. Or since, libpng is shipped with matlab, you could always directly interact with it.
Walter Roberson
Walter Roberson 2018-11-23
Hence my "at all".
Though looking again with jpeg II guess you could use aa private exif tag which would get you 4 bytes worth of chunk length . (matlab provides no way to write exif. there is aa fex contribution to call an external program to write exif)

请先登录,再进行评论。


Image Analyst
Image Analyst 2018-11-21
Save it as a .mat file with save(). Any problem with that? What app is going to read these in after you write it out? If it's just MATLAB again, simply use save() and load().

类别

Help CenterFile Exchange 中查找有关 Image Processing Toolbox 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by