[sane-devel] "gamma" and "bayer" ? What are they?

Henning Meier-Geinitz henning@meier-geinitz.de
Thu, 12 Jun 2003 10:28:14 +0200


On Wed, Jun 11, 2003 at 07:51:40PM -0500, Theodore Kilgore wrote:
> What are "gamma" 

Very much simplified: A gamma table is used to transfer the color
space used by your input device (scanner, camera) to the color space
of your output device (display, printer). A gamma value (or factor)
can be used to create a gamma table.

Search for "gamma table" and "gamma factor" at google and you'll find
lots of documentation.

> and "bayer"

I think that's a kind of halftoning (transferring gray/color imagaes
to black/white).

> So I suspect that some kind of interpolation routine is going on, in order
> to fill up the whitespace. The point is, what kind of interpolation? What
> different kinds are there? And how are they implemented?

I don't really understand what you mean by "whitespace".

Interpolation is usually used to create resolutions higher than
supported by hardware. It's just a marketing gag, you don't get better
images, just bigger ones. Example:

You have a gray image with 2x2 pixels:

100 200
50  100

To expand it by 50% in both directions you'd interpolate like this:

100 150 200
75  112 150
50  75  100

> One can obviously confront similar problems when dealing with scanner
> output, and my questions relate to basic techniques in video imaging.

The scanners return image data in lots of differnt formats. E.g. 8,
10, 12, 16 bits/color, all the pixels of one color after each other,
or all the colors of one pixel after each other and so on.

Maybe your data is also compressed? Or it's transferred as a jpeg?