Image Color Transfer is a free browser-based app that allows a photo to be colored to match the color of another photo, similar to the “Match Color” feature found in standalone photo editing apps.
How it works
The app was developed by two web developers via Github as part of a collaborative project undertaken due to COVID-19 lockdowns. Terry Johnson, a 71-year-old from the UK, detailed much of the processing methodology, and Michele Renzullo, a 22-year-old Italian, provided the expertise for the web implementation.
The duo set out to improve what is often considered the “Match Color” functionality found in web applications and is described in detail in an article on Average.
“When image color transfer was first developed, it was primarily seen as a technique for matching images before photo fusion. If two images are captured in sequence under slightly different lighting conditions and then merged to form a continuous scene, the image seam may be visible when color and shading do not match exactly,” the two explain.
“To overcome this, one photo can be matched to another using a fairly rudimentary image color transfer method. Since the initial implementation of the method in early software packages was quite crude, color matching was considered a technique with fairly limited application. Consequently, little effort has been made to improve the treatment method. The implementation here offers a more refined and flexible approach to handling color matching and thus provides the ability to handle a wider range of potential applications.
The process requires a “target image” that an editor wants to recolor and a “palette image” containing the color profile that an editor wants to copy. Once both are processed through the application, an output image is generated which takes the color profiles found in the palette image and applies them to the target image.
Image Color Transfer additionally offers a set of sliders that allow the user to fine-tune the output.
“Certain slider controls allow the user to select values outside the 0% to 100% range to achieve additional interesting effects,” the two explain. “Other sliders provided by the web application provide control over saturation of the output image, bounds adjustment for cross-correlation processing, and iteration control for shape-matching of channel distributions. ‘output image with palette image channel distributions.’
Both added explanations of additional options for advanced users on Github.
For those curious how such a platform was created, both go into great detail about how the app works and the methods it uses to determine the output and go so far as to show the process behind what they built and the decisions they made during implementation. how the app is able to change the color in a way that looks natural.
“The web application has been designed to work primarily on a desktop computer, the speed and convenience of processing will depend on the size of the image and the computing power of a particular device,” the two continue. . “The size of the output image is determined by the size of the target image. The palette image does not have to be the same size as the target image. Indeed, an image of smaller palette can make processing easier.
Both demonstrate that the application doesn’t even need the target image to be a different photo than the palette image, and the palette image can just have a rudimentary color squiggle drawn on it to produce a photo with a well-implemented color swatch.
Image color transfer in practice
PetaPixel tested Image Color Transfer with two photos with wildly different primary colors to see how the app would handle a color note without changing the app’s default settings.
This was chosen as the target image:
This was chosen as the palette image:
And Image Color Transfer produced the following output image:
The term color grading isn’t often associated with photography because it’s a video editing concept, but it’s an apt description of what’s going on here. While the idea of what the two web developers created isn’t new, it feels more stylized and less literal than previous attempts at the same concept. For example, two researchers from Adobe and Cornell tried something similar in 2017, but their results were much more extreme. NVIDIA has also experimented with similar algorithms.
Image Color Transfer can be tried for free, and several examples of how the platform works with different settings can be seen in the duo’s app description.