Improve company productivity with a Business Account.Sign Up

  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 532
  • Last Modified:

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


  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?


1 Solution
you could set all channels to the same value. So gray E0 would become rgb (E0,E0,E0).
GRAY=0.299R + 0.587G + 0.114B
and (x,x,x) would be a fine solution to that ;)
Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

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.
sapbucketAuthor Commented:

  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.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now