BMP to grayscale image?

15 views (last 30 days)
raktim banerjee
raktim banerjee on 22 Jan 2011
Hello Sir!
I am writing a gray scale image using: imwrite(gray,'exp.bmp') I want the exact gray scale image back from the bmp image. How can i do this?
or please tel me how can I export a gray scale matrix as image and get it back losslessly?

Accepted Answer

Walter Roberson
Walter Roberson on 22 Jan 2011
If your gray scale matrix is uint8 data class, that is what will happen automatically for BMP files.
If your gray scale matrix is double precision data in the range 0 to 1, then what you want to do cannot be done with BMP files. BMP files are restricted to 1 bit per pixel, 8 bits per pixel, or 24 bits deep (i.e., 3 components each 8 bits per pixel). Double precision gray scale images will be scaled by a factor of 255 and the 8 bits of the integer part of the result will be stored. This will lose precision unless all of your data happens to be integer multiples of 1/256 .
The PNG file format can support 16 bit grayscale images, which refines the precision to integer multiples of 1/65536
If you use the PPM file format, then you might be able to use 'Encoding', 'ASCII', 'MaxValue', 2^53 . That would get you access to the full double precision mantissa bits, but if you had gray values less than 1/2^53 then you would lose those values even though they are easily representable in double-precision numbers.
At least as of 2008b, there is no image file format documented as being able to handle full 64 bit double precision gray scale images, so if that is the kind of data you have, either you have to accept some loss, or you have to store the data in the file in such a way that although the file holds all of the data, the image you see would not be viewable without special software.
  1 Comment
raktim banerjee
raktim banerjee on 24 Jan 2011
The gray scale image is 404x478 double type array containing values range from 0.0 to 1.0. if i save this as 'exp.mat' can an exe file containing MATLAB function able to read it? Please reply.

Sign in to comment.

More Answers (0)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!