IMG_0442crop1080_rust0619.jpg

Visual Rust - Photoshop Script

Visual Rust is a digital process I created for slowly eroding away images, implemented as a Photoshop script.

Visual Rust

 

Visual Rust is a digital process I created for slowly eroding away images, implemented as a Photoshop script.

 

This minute-long excerpt shows how my generative art process Visual Rust progresses in a video art piece I created, Disrememberance: Kosam Family. The full video is 4.5 hours long.

 

Inspired by idle tinkering with Photoshop's Magic Wand and Paint Bucket, I created Visual Rust as a method of breaking down a digital image which would differ from data corruption techniques. The Visual Rust Photoshop script, written in Javascript, outputs a series of frames that I compile into a video in Adobe Premiere Pro. I have used Visual Rust to create a series of generative video art pieces, where a single image is eroded over the space of several hours.

 

Process Explanation

 
rust_steps.png
 

Visual Rust breaks down an image using the process summarized above and shown in the animation below.

Before the script begins, an image and an origin pixel is selected by the end user. (After these initial selections, no further input is required from the user.) As the script progresses, every pixel is visited and processed.

At each pixel, the color is sampled. Then, this new color is compared to the current color of the origin. If the new color differs from the origin color at the origin, the paint bucket tool is used at the origin, changing the origin and any bordering pixels to the new color.

The script then moves to the next pixel, performing the same check and using the paint bucket if the check passes. To ensure that every pixel is processed, the path of the script radiates outward from the origin, moving in a spiral pattern.

 
rust_diagram_cropped.gif
 
 

Example

This process creates a “rust region” that slowly consumes more and more pixels as it changes color, gradually erasing the content of the image. The change may not be immediately visible under close scrutiny, but if viewers leave the piece and return later, they often find that a surprising amount of the image has disappeared.

I also rigged and animated the monster’s shadow, using 2D shadow puppet illustrations created by another team member.

Rather than breaking down an image in ways that target its physical materials or digital data, the path of Visual Rust's erosion is determined by the visual contents of an image. I believe this makes Visual Rust interesting as a generative art tool, and naturally brings to mind the slow fading of one’s memories.