I’m am still on the Windows 3.4.1.1 build so haven’t had chance to try this new module out yet, but I am very interested in it because the current color balance module is probably my favourite. I might even go as far as saying that I do the majority of my edits in the color balance module. Whether I need to adjust contrast, exposure, saturation, colour grading, split toning… it does it all.
So, “color balance rebooted” gets me excited (and perhaps a little nervous based on some comments in this thread). I have a couple of questions
Is it designed to replace the old color balance module, i.e. will the old one get deprecated?
Will there be any features from the old module that are not carried over to the new module?
I know this is hard. If brilliance runs along lines of constant saturation, then how does chroma run? Perhaps a line of constant chroma or a family of lines will pull it all together.
Maybe. I wouldn’t want to make the job harder. How about a set of lines along one of the color charts?
What I was wrestling with these three inter-related parameters in Color Balance RGB was how I would use them to navigate along some similar color chart. If I was at the center and wanted to move upper left, would I simply reduce brilliance and increase saturation?
And where does chroma fit into this… is it some kind of orthogonal dimension not shown, or just a different axis laying on the same plane?
Ligthness + Chroma and Brilliance + Saturation are 2 sets of orthogonal coordinates. Lightness and chroma are absolute (same direction for all colors). Brilliance is computed by rotation of the Lightness + Chroma base, but its direction is particular to each color (it’s an axis that start from black and goes through the current color).
I put a “chroma” arrow in the direction + saturation + brilliance, but I removed it. Roughly, chroma goes bottom left to top right, and lightness goes from top left to bottom right. But I don’t want people getting the wrong idea that saturation is chroma rotated by 45°, because the angle depends on the color. The brilliance axis has a direction that is particular to each color, the only constant is it always joins said color to black.
This is the one that I follow the most easily…but I’m simple… I just follow lines plotted this way…may not be the same actual representation of what you are trying to show…
That’s more or less how I understood that from your earlier descriptions. I do understand from my own very limited way that chroma and lightness aren’t simply axis rotations (I want to better understand and am working to better understand). So as a suggestion, would it make sense to have a could of broad arrows that show the general and opposing direction of chroma and lightness?
Again, from a user perspective, I am really try to understand how I might use chroma along with saturation and brilliance to meet my intent
I have some vivid Wood Duck photos awaiting that question…
Yes, they are. We go from one reference to the other through a simple matrix of rotation, it’s by-the-book 2D rotation with a cos and a sin.
Perhaps.
I think it’s more about where you want to get your colors. Chroma preserves luminance, but degrades to grey. Saturation doesn’t preserve luminance but degrades to pastels. Brilliance gets you a different shade of the same color.
Anyway, the swatches are drawn in the same direction as the GUI controls. So you can just stare at them until you get it. Understanding the cooking recipe of the geometric transform will not help you that much I think, it’s more about tuning your eyes to the effect.
I’ve seen that chart, and it kind of gets to my question. I have three controls under Color Balance RGB: chroma, saturation and brilliance. Let’s say I have a bright red flower petal located at the point where “B=80” lies and I want to change it to the color where “S=40” lies? (I’m just picking those points to identify the squares) Do I change saturation and brightness or chroma and one of the others? Or does that even matter
I understand that I might be a bit dents on this, but what I really want to understand is how to use these three controls to navigate to the color that I’m looking for.
Yeah, I get that. I’m just trying to get the lay of the land and this has helped. I will say that this particular module is really opening new doors. Thanks for all your effort.
My interpretion of your graphic is: At the bottom you show a variance of saturation from -1 to +1 while brilliance is left constant. And a variance of brilliance from -1 to +1 while saturation is left constant. This interpretion obviously is not correct. Not only are the 0 values of the saturation and brilliance bars different (checking with color picker) but also the values of the bars can’t be found in the above shown color matrix. E.g. I would expect the briliance bar to be located here:
What tools are you using to check values? I just ran Digital Color Meter over Aurelien’s image and all 0 squares give the same LAB and sRGB values, and it is indeed the middle square in the row you highlighted.
I programmatically enforce the “0” patches to the same value:
def make_swatches(RGB):
# without gamut mapping
swatches = []
for j in range(-5, 6):
for i in range(-5, 6):
result = color_mapping(RGB, j / 9., i / 9., clip=False)
if(j == 0 and i == 0):
result = RGB
swatches.append(colour.plotting.ColourSwatch(RGB=result))
colour.plotting.plot_multi_colour_swatches(swatches,
columns=11, width=30, height=30)
swatches = []
for j in range(-5, 6):
result = chroma_mapping(RGB, j / 5., clip=False)
if(j == 0):
result = RGB
swatches.append(colour.plotting.ColourSwatch(RGB=result))
colour.plotting.plot_multi_colour_swatches(swatches,
columns=11, width=30, height=30)
swatches = []
for j in range(-5, 6):
result = color_mapping(RGB, j / 5., 0., clip=False)
if(j == 0):
result = RGB
swatches.append(colour.plotting.ColourSwatch(RGB=result))
colour.plotting.plot_multi_colour_swatches(swatches, columns=11, width=30, height=30)
swatches = []
for j in range(-5, 6):
result = color_mapping(RGB, 0., j / 5., clip=False)
if(j == 0):
result = RGB
swatches.append(colour.plotting.ColourSwatch(RGB=result))
colour.plotting.plot_multi_colour_swatches(swatches, columns=11, width=30, height=30)
So I’m not sure what you measure.
It’s complicated. I can’t go as far in the square as I go in the bars without reaching sRGB gamut limit and having gamut clipping producing hue shifts somewhere in the square.
Going through the lightness/chroma or brilliance/saturation path will get this particular color to the same spot. BUT don’t forget all the other pixels will follow the same path. The luma/chroma path will darken the whole image, while the brilliance/saturation will ignore the neutral colors (not completely, but more than the other).
In terms of creative shifts, I find brilliance/saturation to be easier to use. Lightness is anyway already set by exposure elsewhere (lightness ~= cubic_root(luminance)), you probably don’t want to mess with it in there. Chroma is more like a gamut compression/expansion, nothing really artistic.