6
$\begingroup$

Kodak sells A gray scale card. It is used to calibrate B&W filming. Film stock exposure is measured with a densitometer. If the film has been properly exposed and developed, each region of the card will register a specific density when measured with the densitometer.

This is different than a gray card. A gray card is used to adjust the exposure of a camera that has presumably already been calibrated, usually by the manufacturer.

Given the camera location and plane position in the blend file, it should be possible to set the lighting so that middle gray is properly exposed and then render. In the render, the luminance value of each patch should match that of the original image. This is similar to using a gray scale to calibrate a camera, but not exactly the same, but should be possible.

Is there some combination of color management settings that will accomplish this or do I have to use RGB curves to compensate?

Context

I'm a black and white photography nerd. One of the things I've done with film cameras is to calibrate them to a grey scale card. I've tried this with no luck in Blender. With 50% gray properly focused, the values do not match the gray scale. How do I do this?

I'll attach a blend file with the lighting setups I've tried.

I've tried with three different lighting setups

  • Remove the world lighting (set it black) and use a sun lamp pointing perpendicular to the image
  • Remove the world lighting and use an area lamp parallel to the image directly behind the camera
  • Remove the lights and use the world lighting.

In each case, I adjust the strength until the 50% value on the gray card shows a value of ~.5000 when a point in it is clicked in a render. I understand that there might be enough fall off from the area lamp that the card is not evenly lit, but for the sun lamp and the world light this should not be true. I've tried this with various combination of color management parameters to no avail. The closest I've managed is filmic/raw, but it doesn't match a gray scale curve.)

$\endgroup$
5

2 Answers 2

5
$\begingroup$

To create a Gray Chart is quite easy:

Give the object a diffuse shader and set the albedo to 0.18 (Meaning a reflectance of 18%)

enter image description here

If you render the image and left click on the UV/Image editor, you can sample where the scene referred values are, and how those are being transformed into display referred values by the color transforms set in the color management section. (For blender 2.8 right click on the image and the sampler window will appear)

enter image description here The numbers that move at the bottom of the screen are (From left to right) pixel coordinates, Z depth value, then Scene Referred RGBA values, Then the RGB values that follow the CM (CM stands for color managed) are the Display Referred values, those of your final image.

enter image description here

Sampling will help you determine how the light is affecting your scene and how those values are being transformed on the final image.

So how are the scene referred values being transformed to display referred ones? It all depends on the settings on the color management.

For filmic blender, mid gray would be a scene referred value of 0.18, and it would get mapped to a value of 0.5 in display referred values. (sRGB tends to end up with display referred 0.5 at around 0.2 scene Referred)

If you are using Filmic Log encoding in as your view transform, you can also enable the False Colour Look. That will give you an interactive way to judge the "exposure" of your scene. Mid gray (in display referred values) will show as gray. Darker areas will be represented as blueish-purple and black, and bright areas as red, and eventually white once the values are too large.

enter image description here

Note that false colour should only be used with the filmic blender log encoding views. Using other view transforms will not result in an accurate representation.

For more details read the github page of blender render: https://github.com/sobotka/filmic-blender

So the same basic cube would look something like this in false colour:

enter image description here

Another example:

This scene (the cube is set with a reflectance of 18%):

enter image description here

Woulld look like this in false colour.

enter image description here

To understand how filmic blender works read:

Render with a wider dynamic range in cycles to produce photorealistic looking images

$\endgroup$
3
  • 1
    $\begingroup$ This is an excellent answer and contains useful information I wasn't aware of. Thank you for taking the time. $\endgroup$ Feb 22, 2018 at 17:42
  • $\begingroup$ Unfortunately, it answers a different question than the one I meant to ask. I'm trying to calibrate the gray scale, not just a single gray. The problem I'm encountering is that once I have adjusted the lighting so that 50% gray matches the gray scale, the other grays on the card don't. I suspect I'll end up having to use RGB curves to correct for this. I was hoping there was a simple setting. $\endgroup$ Feb 22, 2018 at 17:51
  • 1
    $\begingroup$ You won't be able to @MartyFouts. The reason is that a grey chart on paper is essentially a series of values that are reflecting off of paper. This takes us down the rabbit hole of albedo. That is, if you used a single light source flat to the camera, and matched the albedos perfectly of the paper grey chart in question, you'd still not end up with 1:1 or anything close. Why? Because there is a virtual camera taking the photograph which will record a variable dynamic range to the paper in question, as well as encode it differently to the printout. Perhaps a separate question would help? $\endgroup$
    – troy_s
    Feb 26, 2018 at 1:25
1
$\begingroup$

This is how colors or better said values are transformed to match human perception. To get your values right you have to apply a gamma of 1/2.2 for your image you want to use as texture. Or just select Color Space: "Non-Color Data" in your Image Texture. ;)

$\endgroup$
1
  • $\begingroup$ Just forgot to say. In the attached .blend it is just an emission shader. The rest should be easy... $\endgroup$
    – Richy
    Feb 21, 2018 at 23:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .