Page MenuHome

There is a problem with color space conversion in compositor
Closed, ArchivedPublic

Description

System Information
Operating system: Windows-10-10.0.18362 64 Bits
Graphics card: GeForce GTX 1660/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 441.12

Blender Version
Broken: version: 2.82 (sub 1), branch: master, commit date: 2019-11-03 23:35, hash: rBe45cfb574ee7
Worked:

Short description of error
In the compositor, the SRGB image is converted to a linear color space after passing the lnvert node, and cannot be restored to the original SRGB state after conversion using the gamma node. This will generate a non-user-required error when processing the inverted Color image using the compositor. It is recommended to add the corresponding node of the color space conversion.

Exact steps for others to reproduce the error

Details

Type
Bug

Event Timeline

I think your expectations are incorrect. Your sRGB image is *always* linearised, the second you indicated that its file encoding is indeed sRGB. Behind the scenes of the compositor, this removes the sRGB OETF and turns the image into a display linear sRGB buffer.

In the top part of your split viewer, you invert that linear buffer, apply a 2.2 gamma to it, and then display it through (I'm assuming) a Filmic view transform.
In the bottom part of the viewer, you simply flip the linear buffer, and your view is again transformed by (I'm assuming) Filmic.

In short, there's more happening than you think. What you're doing in the top part is essentially a double transform, especially if your view is set to Standard rather than Filmic.
It's also important to note that you should always composite in a linear space, which the Blender compositor does.

It is recommended to add the corresponding node of the color space conversion.

This would indeed be a useful node, but not here. Input Image nodes do this conversion automatically.

Brecht Van Lommel (brecht) closed this task as Archived.Thu, Nov 7, 4:37 PM
Brecht Van Lommel (brecht) claimed this task.

The compositor works in scene linear color space by design, and the Invert node does not change the color space.

If you want to do a perceptually linear color inversion, you can put a Gamma node before and after the Invert node to convert to sRGB and back.

So, ask a question, what can I do to get the same SRGB inversion color as in Photoshop?🤔

So, ask a question, what can I do to get the same SRGB inversion color as in Photoshop?🤔

Set your Blender view transform to Standard, and use only an invert node.
Do know that Photoshop strictly works in a display-referred space, while Blender works in a scene-linear space + view transform. Only that 'Standard' view transform is going to yield results comparable to your sRGB input.