PseudoGreySqueezing 1786 Grey Levels out of 256 Possiblities |
|
probably more than you ever wanted to know about pseudoGrey (but we do gots lotsa pictures) | ||||||
|
This image appealed to me, so I, uh, borrowed it from the Java marketing pages at IBM. The original was a slightly smaller JPEG image called 'hmmainr.jpg'. It has been overlayed with a pseudoGrey checkerboard containing all 1786 shades of grey. | ||||||
|
Text of the
Original Usenet Posting 19 July 1999 (preserved at the excellent Color Reference Library) I've finally implemented a concept that has been on the back of my mind for some time. I call it pseudoGrey. It is a method to encode more than 8 bits of greyscale within a 24-bit color image. Using the technique, exactly 1,786 levels of grey can be encoded and decoded. The algorithm borrows from the concept of luma, in that the "plusses" map roughly to the luma weights of the three color components. To use this technique, you begin with a 12-bit greyscale number. The base 8-bit value for each rgb element is the 12-bit value right-shifted by four. Then 1 is added to none, one, or two of the components by examining the low-order nibble of input. On:
2.. 4 -> blue + 1
5.. 6 -> red + 1
7.. 8 -> red + 1, blue + 1
9..10 -> green + 1
11..13 -> green + 1, blue + 1
14..15 -> green + 1, red + 1
I don't think anyone can actually see the difference between 256 and
1786 levels of grey. However, without degrading the color image, you
preserve analytical detail which would otherwise be lost. Of course,
you need to have started with at least 512 levels of grey to get any
benefit. Film and many scanners do provide data sources that might take
advantage of this technique.
Usenet Thread at Google Groups
(On 2007-01-03 I noticed it had been restored to their archive.) To see an implementation, visit the SIHwheel. The source code for the applet links from there. The color wheel begins "non-augmented", which means there are 4096 slots available for greys. If you click in the center of the wheel, the intensity bar is mapped to pseudoGrey. If you have a 24-bit display and screen-peeker program, you will be able to verify the pseudoGrey encoding. If you augment the color set (by having three or more hue domains in their extra-hue mode), the color wheel won't use more than 8-bit grey. The 16-bit SIH colorspace always has at least 256 true grey levels. |
This page used to contain source code for a small java console program.
Frankly it took up too much space, and most people weren't interested in it
anyway. It still resides in plain text form here, though.
The program tests two getPseudoGrey() methods. A third method,
isPseudoGrey(), provides a test to determine whether a color should be
interpreted as grey. Calculations use 12-bit greyscale.
Dave Wyble of the Munsell Color Science Laboratory has let me know that there has already been a hardware implementation of this concept:
G. Adam Stanislav has implemented pseudogrey into his Pixie Dust Photoshop plugin. His site includes information about redheads, but he also offers a lot of photography and plugin information. Start with the Atelier link for the latter sort. The photographer Alex Wilson independently came up with the idea of pseuodogrey. He implemented it as a perl script. It accepts a 16-bit raw grey photoshop file, and converts it to a raw 24-bit "color" file using the pseudogrey algorithm. He has allowed me to host the script here. For those more interested in viewing colors than greys, visit Roedy Green's Colour Page. (Each turquoise ball links to a full page of colors.) It is part of the amazing Java & Internet Glossary. Translations of this Page Armenian by Karen Mgebrova Please let me know about other related information.
Thanks.
| |||||
|
PseudoGrey Snakes Fun for the Whole Family!
|
![]() pGrey5.png ![]() hHoodPgrey.png |
|||||
|
Why "grey" rather than "gray"? Personal taste, mostly -- plus "gray" looks too much like "gary" to me. | ||||||
|
Accesses since 1999-07-25 Last updated 2012-02-15 Rich Franzen | |
|
| |
|
myHome
myGallery | |