How to convert grayscale image to binary and reverse?

4 views (last 30 days)
I have a task to convert a grayscale image to binary and then take it back to its original form. I tried doing the former part by using im2bw function but was unable to do the latter after that as I had killed all the 'other than black and white patterns' when converting to binary. Any suggestions? :D
Also, I don't know what the function mat2gray is for, since the input image (grayscale for instance) has itself already been a matrix hasn't it?
Thanks and sorry for my bad English.

Accepted Answer

Image Analyst
Image Analyst on 18 Nov 2016
Once you threshold an image with im2bw() to produce a logical (binary) image, you can't then take just that image and get back your gray scale image because you don't have enough information. Therefore you should save/keep your original gray scale image. Of course if you still have the original, then you're all set.
mat2gray() is a function that takes an array in any range at all, and scales it so the min is at 0, then max if at 1, and everything else is scaled linearly between 0 and 1.
  2 Comments
John Applesheet
John Applesheet on 18 Nov 2016
Edited: John Applesheet on 18 Nov 2016
Thx, so that means there's no way to turn it back (from binary) to the intact one then ?
Coincidentally, i saw your answers on several related topics while surfing the net, about 3-4 years ago lol. Those were helpful for me xD
Image Analyst
Image Analyst on 18 Nov 2016
Correct. Like I said, there is no way unless you save the original.

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!