Mailinglist Archives:
Infrared
Panorama
Photo-3D
Tech-3D
Sell-3D
MF3D

Notice
This mailinglist archive is frozen since May 2001, i.e. it will stay online but will not be updated.
<-- Date Index --> <-- Thread Index --> [Author Index]

P3D Re: www.flipsigns.com


  • From: "Greg Wageman" <gjw@xxxxxxxxxx>
  • Subject: P3D Re: www.flipsigns.com
  • Date: Fri, 23 Jul 1999 14:44:54 -0700


From: bob Wier <wier@xxxxxxxxxxxxxxxxx>


>In Photoshop, I'd consider the way to do it might be to use the
>grayscale displacement function. What this does is to displace
>the pixels in an image based on another image - depending on the
>value of a pixel in the overlay image, the pixel in the original
>image will move a proportionate amount depending on the value of
>the overlay pixel (0-255). There might be something similar in
>GIMP for Linux based machines (I haven't looked at it closely).
>
>It seems like you could make up a standard sort of gray scale
>"mask" of a given size (like 640*480 or 800*600) and just drop
>it onto a like sized photo image. Applying this several times
>would get you multiiple displacements which you could drop other
>image strips into.
>
>That's about as far as I got with my thinking, though...


It is a nearly trivial matter to write a bit of C code, using the PBM
package support, to iterate over "n" images, interleaving one column of
pixels from image 1, one from image 2, ... one from image "n", then
continuing to the next column from each image.  That's the easy part.

The difficulty factor comes in printing the resulting interleaved image.
If you have a dye sub printer, or similar technology where one input
pixel equals one output pixel and all colors are available to a single
pixel, you're golden.  Choosing the right lenticular screen for the
resulting image is just a matter of calculating the width of each image
"band", which is the printer's resolution in pixels per inch, divided by
the number of input images.  Given that lenticular material is probably
not available in arbitrary resolutions, there are going to be certain
combinations of printer resolutions and numbers of images that are
impractical.

In the inkjet case, one image pixel gets turned into multiple printer
pixels, because a typical color inkjet printer can only produce six
colors (cyan, magenta, yellow, red, green, blue), plus black and white,
at its full rated resolution.  To produce additional colors, the printer
driver must resort to digital halftoning.  This involves laying down a
matrix of printer dots for each of the subtractive primary colors (cyan,
magenta, yellow), as needed to represent the desired pixel color, which
the eye blends into a single image pixel.  The raw printer resolution is
thereby divided down by the size of the halftoning matrix used.  Also,
the number of available colors is a direct function of the halftoning
matrix size.

For example, a 3x3 pixel matrix has ten possible densities, from zero
dots filled through all nine dots filled.  This allows for 10 levels of
cyan, 10 levels of magenta, and 10 levels of yellow to be blended,
resulting in a "gamut" of 1,000 possible colors (including black and
white).  This is not a large gamut, and visible "false contouring", or
banding caused by the distinct changes in hue when going from one
reproducible level to another, will result.

Going to a 4x4 matrix results in 17 possible densities.  17 cubed is
4913.  This is better, though still not "photo quality" by any means.
However, with a typical 600 DPI inkjet printer resolution, the 3x3
matrix has already reduced this to a net 200 pixels per inch, and the
4x4 matrix to 150.  Since you must lay down at least two strips per
lenticule for stereo (and more if possible), with a 600 DPI printer, a
4x4 halftoning matrix and 2 images/lent you are down to a 75 line
screen.  3 images/lent has you at 50 lines.  If you're cursed with a 300
DPI printer, halve these numbers.  As you can see, there are going to be
severe restrictions on the quality of what you can produce with an
inkjet printer.

Nevertheless, it should be fun to try it and see.

     -Greg W. (gjw@xxxxxxxxxx)



------------------------------