- CompositeLenticular.1.py (344)
A few weeks ago I received a very interesting package in the mail… A couple of “lenticular lense sheets”. These should enable me to create prints that you can actually walk around and give you 3D vision even! It is not a new technology, but is has matured in recent years.
I found out about the technique a while ago already, but hadn’t really considered doing a lenticular project until Beorn Leonard showed me the website of Mark Ruff in Australia. Mark then was kind enough to refer me to Henri Clément in France who in turn gave me a link to Coen Holten who works just around the corner here in the Netherlands. Pixel (Coen’s company) also creates lenticular prints, and they provided me with a couple lenticular sheets to experiment with.
Knowing this isn’t really for the faint of heart I started reading… a LOT! Here’s a few of the pages I found.
Especially the last one was very informative.
Then I went to see about the software needed to create a lenticular ready image. And there’s quite a bit out there. Sadly… it seems like it’s either not very nice or somewhat too expensive, so I decided I might as well try on my own.
What it comes down to is this. You have a sheet with a number of stretched out lenses, the nr of lenses is measured in LPI (Lenses Per Inch). The ones I have are 20LPI and 40LPI. For each lense you want to have at least 1 pixel for every image (the more images the better, depending on the DPI or Dots Per Inch, your printer is capable of). So if I print at 600DPI for a 20LPI lense sheet I should be able to have 30 images combined in the final product.
First scripting experiment
So I set to creating a tiny script that can combine images in a way that would work. Nothing definite, but an experiment to see if I can get the sort of result I need. Here’s the three test images I made.
Then I want a script to take the first pixel from each, put them next to each other in a new image, then the second pixel from each, and so forth. Thus creating an “interlaced” composite image as seen below here.
This is not a perfect result to go straight to print, but if I wanted to print this for a 20LPI sheet, and set my printer to do it at 20 / 3 = 6.666666 DPI you should see a red, green or blue image depending on your viewing angle. Ehr, I think that’s correct, but I’ll start doing actual print experiments later today.
The Python script I wrote is tiny and runs from the command-line. It requires Python 2.5 and the PIL (works with 1.1.7) image library. All the settings are entered manually in the script at this point, but it works. (You can download the script at the bottom of the article)