Link to home
Start Free TrialLog in
Avatar of sapbucket
sapbucket

asked on

How to convert 8-bit GrayScale to RGB format (and have it still "look" gray!!!)?

Hello,

  I have an image processing app that I am working on and ran into a snag trying to convert from 8-bit grayscale to RGB. The reason I want to do this is so that I can store my image data in the format that I want to use (.XPM).

  I noticed alot of people are asking this same question but are coming from the standpoint of wanting to add color to grayscale image. Think Turner broadcast colorization of an old western or something. I don't want this at all. I want my RGB equivalent image to look exactly like my grayscale image.

  My input is gray values between 0->FF (0-255).
  My output is RGB of the gray value (3 values between 0->FF (0-255))

  For example, I know that white is FF in grayscale. After the conversion it should be R=FF, G=FF, B=FF in RBG format. Likewise black is 00: it should be R=00, G=00, B=00. But how do I convert the other 254 values?


  Is this possible? Does anyone know the conversion formula?

  Thanks!

 
ASKER CERTIFIED SOLUTION
Avatar of kandura
kandura

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of rj2
rj2

GRAY=0.299R + 0.587G + 0.114B
and (x,x,x) would be a fine solution to that ;)
Hi rj2,
Wrong conversion direction :-)
Hi all
sapbucket asked for conversion formula, so I posted conversion formula.
The formula at least demonstrates why gray scale conversion is a one way process. Information is lost about along the way, there are many combinations of R,G,B that satisfies the equation.
Avatar of sapbucket

ASKER

Kandura,

  perfect answer!

  I don't know why I didn't try that myself. I experimented with using the gray scale value and 0's - so like 255, 255, 0 or 0, 255, 0 - which just gives you pure color tones. Thanks for the help!

  Does cpan have a perl module that specializes in image processing of 8-bit values? Seems weird that I have to triple the file size (1 byte translates to 3 bytes) just to store the image on disk. At least that is using .pbm or .xpm.

sapbucket