The color matching tool v1.2 released! Please send me a PM, if you’re interested.
Updates for v1.2 include:
An upgrade of the color matching algorithm. The stabilization parameter has been replaced by a smoothing parameter, and now is in the range from 0 to 1 (default 0.01).
Updates for v1.1 include:
The algorithm has been upgraded, such that creating a color matching model now only takes a few seconds, even for a set of 4K frames.
The color correction tool v2.2 has been dubbed the color matching tool v1.0 to distinguish it from the upcoming color balancing tool v1.0. The functionality of the color matching tool v1.0 is the same as the color correction tool v2.2.
Updates for v2.2 include:
An exported LUT should now also work in Adobe After Effects. In addition LUT creation is now faster.
Updates for v2.1 include:
- A fast processing mode, that allows for significantly faster model building. Creating a color correction model at the default settings (using 10 color spaces) now only takes up to 2 minutes, independent of the frame resolution, while creating a single space model only takes up to 10 seconds.
- The single color space model is now available by setting the number of color spaces to 1.
Updates for v2.0 include:
- A new color matching algorithm, with improved stabilization.
- An option to increase the number of color spaces, that the algorithm uses to match the source and reference (max 100). Increasing the number of color spaces leads to more accurate results, but is also slower.
- A new stabilization parameter that has a range of 0 to 25. Use this option, if the source is noisy, or if the reference colors are inconsistent. Increasing this value improves the quality of the output image. Usually a value of 0 to 5, will lead to a much improved result, without seriously affecting the quality of the color match. Higher values may result in a slower convergence to the desired color palette, thus requiring a larger number of color spaces.
Here’s a post on thestarwarstrilogy.com:
A special thanks to thestarwarstrilogy.com for the post!
What can the tool do? It can accuratelly match the colors between a source and a reference. A color matching model can be constructed, that can then be used to correct other frames.
Here’s an example.
Team Negative1 35 mm scan of the 1997 Star Wars Special Edition:
Bluray matched to reference:
Other frame bluray:
Other frame bluray corrected using color matching model calibrated on the reference frame:
How does it work?
Here’s an amazing video tutorial made by originaltrilogy.com member williarob:
When you’ve downloaded the file named ColorMatchv1_2_pkg.exe, execute the file. You will be asked to install the MATLAB runtime environment. After you have finished installing, a new executable named ColorMatchv1_2.exe will be available. Open this file as administrator, else it will not work.
A few words of advice on using the GUI. The GUI itself is pretty self explanatory.
The process is as follows:
Select a test image. A figure will open, showing the image. You will be able to crop the frame, with your cursor. If you don’t want to crop the frame, close the figure window to be able to continue.
Select a reference image. A figure will open, showing the image. You will be able to crop the frame, with your cursor. If you don’t want to crop the frame, close the figure window to be able to continue.
Build a color correction model. There are two processing options: fast processing mode (default), and normal processing mode. Fast processing mode is significantly faster, especially for high resolution frames, but could in theory be less accurate, although in practise this will rarely be the case. You can set the number of color spaces that will be used to build the color correction model (minimum is 1 color space, which closely mimics histogram matching, albeit far more stable, maximum is 100 color spaces). Increasing this number will lead to more accurate results, but is also slower. Depending on the resolution/size of the images after cropping and your hardware, this may take 0-1 minutes in normal processing mode, and roughly 0-30 seconds in fast processing mode, using the default settings, on an Intel Core i5. A figure will open showing you the test frame as it is being matched. With each iteration it should be closer to the reference. There is a smoothing parameter (range 0-1) that can be increased, if the source is noisy, or if the reference colors are inconsistent. Normally this could lead to unwanted artifacts in the output image. Increasing this number will prevent this, and improves the quality of the output image. Usually a value of 0.01 to 0.1, will lead to a much improved result, without affecting the quality of the color match. Higher values may result in a slower convergence, thus requiring more color spaces.
Save the color correction model for later (optional).
Import a color correction model (optional).
Import any number of images, and color correct them with a color correction model you just built or imported. The images will be saved in a newly created directory named “Corrected” with the same name as the original images. Color correcting a frame may take anywhere between 5 and 20 seconds, depending on the resolution/size of the frame, and of course your hardware.
Export a 3D LUT (lookup table) for use in other software programs, such as Davinci Resolve or Adove After Effects.
When building a color correction model you should consider the following:
The model assumes the test and reference images (frames) are identical, aside from the color. In other words it’s important the images are cropped in the same way (to a reasonable degree). Incorrect cropping may lead to artifacts.
When using a print or a low quality source as a reference, there may be color variations within the frame. For example some parts may be darker or brighter than others. If you use the full frame for building a color correction model, it will try and fail to reconcile these differences, resulting in artifacts. The best way to go, is to select a consistent part of the frame, select the same part for the reference, and then build the color correction model.
In theory you can match any source to a reference, but there are limitations in practise. You have to consider that a limited color depth may result in artifacts. Crushed dark colors or blownout light colors are notoriously difficult to regrade, but they also may affect the color matching in other areas of the frame. In such cases increasing the stabilization parameter should reduce artifacts, but they are sometimes unavoidable.
Although you could regrade an entire film, based on a single reference frame, this will probably not work in practice, because one reel may have degraded in a different way than another or one scene may have been color graded differently from another. In principle it is possible that each frame will have to be matched individually, but usually a film is graded on a scene by scene basis, so a single reference will suffice for a particular scene.
Hope you enjoy the tool. Of course if you use the tool for your projects, any acknowledgements will be appreciated. The same is true for any comments, critisism or suggestions you may have. In that case write a post in this thread or send me a PM.
Original start of the thread:
I decided to move the color matching discussion from the super resolution thread to a new thread. I wrote a script in MATLAB that matches the colors of the same frame between two different sources. The color correction can be transfered to other frames, although there’s of course no guarantee these will be correct.
Here’s an en example for frame 8228 of Star Wars, where I matched Harmy’s Despecialized Edition to the GOUT, GKar, and what appears to be a scan from a 35 mm print.
Here are the before after comparisons:
Here are the comparisons to the reference frames:
As you can see crushed whites, and blacks are difficult to match correctly, but the overall agreement is very good.