  Exploring and editing colors in images is a common task in graphic design and
photography. However, allowing for interactive recoloring while preserving
smooth color blends in the image remains a challenging problem. We present
LayerBuilder, an algorithm that decomposes an image or video into a linear
combination of colored layers to facilitate color-editing applications. These
layers provide an interactive and intuitive means for manipulating individual
colors. Our approach reduces color layer extraction to a fast iterative linear
system. Layer Builder uses locally linear embedding, which represents pixels as
linear combinations of their neighbors, to reduce the number of variables in
the linear solve and extract layers that can better preserve color blending
effects. We demonstrate our algorithm on recoloring a variety of images and
videos, and show its overall effectiveness in recoloring quality and time
complexity compared to previous approaches. We also show how this
representation can benefit other applications, such as automatic recoloring
suggestion, texture synthesis, and color-based filtering.
