Image Relief in Color




Introduction: Image Relief in Color

About: Michael Koehle is the CNC shop assistant at Autodesk Pier 9. His background is in engineering and in art. He combines these to make work using drawing, painting, CNC, 3D printing, and laser cutting.

Welcome to the next Instructable in my Image Relief collection, in which I give 2D images depth by assigning each pixel a height equal to its brightness. This time, the relief was assembled from a series of full color cross sections, printed to 16 layers of acrylic using a flatbed UV printer. Many thanks to Local Language, an art, design, and fabrication studio in Oakland, who donated the use of the printer and material costs.


  • -Acrylic box, custom built by Tap Plastic
  • -16 1/16” sheets of acrylic
  • -Mimaki UV flatbed printer
  • -mineral oil

Step 1: The Relief and Cross Sections

Imagine each pixel in an image as a rectangular column, with a height equal to its intensity. A dark blue pixel would have a short height, while a bright orange pixel would be relatively tall.

Simple Frames

Luckily, it is not necessarily to model this three dimensional relief in order to find its cross sections. Think of the first horizontal cross section, at the base of the relief (0% intensity). This cross section would include the entire rectangular breadth of the relief, and therefore, every pixel in the image.

Simple Frames

Now, imagine the next cross section up, a little bit higher, 1/16th of an inch up. Any pixel with intensity below 6.25% would not be included in this cross section, but all the pixels above this intensity would be. In this way, more and more pixels are filtered out of each cross section.

Simple Frames

At the last cross section, only pixels with an intensity of at least 93.75% are included.

Simple Frames

I wrote software to accomplish this filtering. At every cross section, any pixel below the intensity of the current cross section was replaced with white. For this to work correctly, the source image could not have any pure white pixels. I adjusted the image’s curves in Photoshop to make sure of this.

Step 2: Printing

I chose to work with an image of a port because the resulting relief would have a cube like surface, which would echo the shape of the containers.

Prior to printing to acrylic, we printed on paper a reference image, and taped down acrylic runners to help ensure that each acrylic sheet could be registered to the same location.

Each 2d dimensional cross sections was printed to acrylic on a UV printer. Most printers are designed to print on white, not clear materials, and so do not print white. The Mimaki UV printer, however, can print a separate layer of white behind the color layer, so that each cross section is opaque (second image above).

Step 3: Assembly

The sixteen sheets of acrylic were placed into a water tight acrylic box (custom built by Tap Plastic). To reduce the visibility of the sheets, mineral oil was poured into the box. Mineral oil has an index of refraction very close to acrylic (1.49 versus 1.47), which means it bends light in nearly the same way, making the box, sheets, and oil appear as one solid cube.

The weight of mineral oil was enough such that the box bowed out. This was with walls .25" thick. Thicker walls may have prevented this. After filling the box to the brim, the top of the box was sealed on using acrylic cement. Make sure the top edges of the box are clean of oil before trying to seal the box.

Be the First to Share


    • Robots Contest

      Robots Contest
    • Made with Math Contest

      Made with Math Contest
    • Space Contest

      Space Contest



    5 years ago

    Can this be done without custom software by using Levels in Photoshop to clip anything below a set value? This might be doable with a home inkjet printer by printing on white polyester sticker sheets. For each layer, the areas that need to be transparent would be clipped to black. Push everything that isn't black all of the way to white, creating a B&W mask. Trace the image to create vectors. Print the image in the inkjet, align it in the laser and cut the vectors. Then stick the sheet onto each layer of acrylic.

    It might be a good idea to have another vector for the outline of the final size of the acrylic sheet. It would be easier to align it in the laser and cut the sheet to its final size than to apply the sticker perfectly every time without getting it a little crooked.

    Stickers would be thicker than UV printing and have gaps where the holes were cut, so the oil would help. Did you pour a little oil at a time while adding sheets, or did you fill it, then submerge the layers? I would think the amount of oil would be very small, with most of the volume taken up by acrylic.


    5 years ago

    This is awesome. I can appreciate the amount of work involved in this project.

    Truly unique.