In this post I'll be looking at how you can create custom white balance images that let you easily identify which filter / white balance the image is for.

Custom White Balance Images for the Canon R5

This post only covers my experience with the Canon R5, but I would think it is probably the same with other Canon cameras. I'm not sure if Nikon, Sony, Panasonic etc. even let you set white balance based off an existing image, but if they do I wouldn't be surprised if they use a different technique to Canon and so this method is unlikely to be applicable.

What?

First I should probably go over exactly what a custom White Balance image is. It's simply a photo on your camera's memory card that you use to set a custom white balance. There is nothing special about the images themselves. Just they are images you keep on the memory card explicitly for using them to set a particular white balance.

Why?

You might be wondering why you would want to use custom white balance preset images? The reason for me is that I use a full spectrum converted camera, and shoot with a range of different filters. The white balance for each filter can be quite different, and way outside the normal Shade - Tungsten range. So having a range of white balance preset images that lets me quickly select the correct white balance for the filter in use is quite helpful.

Now, I'm not saying that White balance preset images are the best solution for my use case. If you look at my previous post you can see that although the white balance preset images I used were fairly close to the correct white balance, they weren't as good as a custom white balance created at the same time as the video was shot would have been. I still need to do more investigation to see if there is a better solution for white balance of colour infrared video.

Still from video taken using custom WB preset image - the white balance is close but not correct
Still from video taken using custom WB preset image - the white balance is close but not correct

Still from same video clip but white balance corrected based on the clouds in post
Still from same video clip but white balance corrected based on the clouds in post

One alternative solution is to just carry a white balance target with you, and set a custom white balance on that each time. I have tried doing white balance on a piece of white card and also a piece of PTFE, but I found I did not like the resulting images as much as when they were white balanced on clouds. And the problem is you may not always have enough cloud cover in the sky to allow for a custom white balance image. With a custom white balance image made of clouds on a day when there was good cloud coverage (or a long enough lens to give good cloud coverage over the frame), this is not a problem.

The other reason why you might want to use custom white balance images is if you are using certain white balances for creative effect. A custom white balance from an image seems to allow for more extreme white balance adjustments that you can get just using the built-in presets or Kelvin and tint adjustments.

Here a blue gelled flash was used camera-right, and camera white balanced for this, which then turned the ambient light in the image very orange.
Here a blue gelled flash was used camera-right, and camera white balanced for this, which then turned the ambient light in the image very orange.

The problem

The problem with having multiple different custom white balance preset images to choose from is that it can be difficult to work out which image is for which particular white balance preset (in my case which filter the preset is for). That is what I'll be showing how to work around in this post.

Photos of clouds taken with different filters for creating custom white balance images from
Could you tell which of these images would give the correct WB for a particular filter?

What would be simplest would be if you could just rename the image the image file, e.g. the white balance preset image for my CB565 filter I would just name 'CB565.CR3'. It would then be easy to tell which white balance preset image you want simply based off the filename. Sadly this does not work and if you rename the file outside of Canon's _11A1111 style naming convention it will simply not show up on the camera for you to select.

No images show on the camera memory card to use for custom WB when the images have been renamed from Canon's standard naming convention

The simple solution

There are a few possible simple solutions to this:

  1. When taking the custom white balance photo, hold a piece of card or paper at the edge of the frame that has whatever you want to call the preset written on it in large text. This will need to be positioned outside of the central region that is used for the white balance, but still large enough that you can read it on the small thumbnail you see when selecting a custom white balance image.

    Setting custom WB with an image that has the filter / white balance preset name written on paper at the bottom of the image

  2. Keep a separate list of which image is for which white balance, which you can reference whenever you need to choose a custom white balance image.

    White balance preset images listed on paper

  3. Open your white balance image in the Canon Digital Photo Professional software on your computer. Use the clone tool to sample a darker / lighter area of the image, then use this to write the name of preset on a lighter / darker area of the image. Remember to write it large enough it can be read from the small image thumbnail. Convert and save as an EXIF-JPEG, then stick this image on your memory card as the white balance preset image. Note the clone tool in DPP is extremely slow and laggy (on both Windows and MacOS) and using a graphics tablet with a pen rather than a mouse doesn't help. This makes trying to write using the clone tool quite annoying.

    Writing label on image using clone tool in Canon Digital Photo Professional Software
    Writing the filter name on the image using the clone tool in DPP

    Selecting custom white balance image labelled in DPP on the camera
    We can now (just about) read the filter name when selecting the custom WB image on the camera

The complex solution

My solution is overly complex, but at least it works. Unfortunately, like many large companies, Canon makes you jump through many hoops just to accomplish what should be a basic task.

So to start with, you shoot your custom white balance preset images, making sure you have noted which image is for which white balance preset (in my case which one is for which filter).

Either shoot the images as JPEG or use Canon DPP to convert the RAWs to JPEGs.

Photos of clouds taken with different filters for creating custom white balance images from

Open one in your image editing software of choice and either edit the image or replace it with your own custom image. In my case I used images of my filters plus text with the filter name. Save these out as JPEG files, but do not overwrite the originals.

Images edited in Photoshop and image content replaced with photos of the filters each image was taken with

At least with Photoshop, it won't maintain the full EXIF data when you save out an image. So you need to put the metadata from the unedited JPEG files into the corresponding edited JPEG files. e.g. using Exiftool:

exiftool -overwrite_original_in_place -tagsfromfile _unedited.JPG -all:all _edited.JPG

Where _unedited.JPG is the original custom WB image, and _edited.JPG is the custom image that contains the content you want to be displayed in the thumbnail for your custom WB image.

Or you can do it the other way round, and insert the image content of your edited image into the original using ImageMagick:

convert _edited.JPG _original.JPG -composite _combined.JPG

Unfortunately, just sticking the EXIF of the original image into the custom image is not quite enough to get the image to work on the camera. We also need to open the image in DPP and convert and save it as an EXIF-JPEG.

Batch converting images in Canon DPP

Once that's done, ensure the file is named using Canon's standard naming scheme (I'd suggest just renaming it to the same filename of the original White Balance image you shot). Then transfer it across to your memory card.

Custom WB images copied to camera memory card

Using the Custom WB images on the camera

On your camera you will probably want to add the Custom White Balance option to your 'My Menu' to make it easy to access. On the Canon R5 it is otherwise found on page 3 of the Camera icon.

Custom White balance option added to 'My Menu' in camera menus

You then choose the Custom White Balance option, scroll through the images on your memory card and find the correct white balance image, and select it. Then make sure your actual White balance setting is set to Custom White Balance as well.

Setting custom white balance using a custom white balance image

Conclusion

What we can tell from this is that the camera does not actually use the content of the image as it is on the memory card to set the White Balance. But rather, some value indicating the calculated 'correct' white balance must be written to the metadata of each image as it is shot. And this metadata value is then used for setting the white balance when that image is chosen as a custom white balance image.

Exiftool does have some Canon MakerNotes fields relating to White Balance that it knows about, but whether these are used for setting custom White Balance, and how you could edit them, I have no idea. It could be quite interesting if the fields and data type weren't too complicated - you could try writing various values and see what sort of resulting white balances you get. You may be able to get some quite extreme adjustments if this were possible.

I do like my custom WB preset images. They are only 'correct' when using them in the same lighting, but still are much better than manually trying to dial in a WB for Colour IR photography. If I can find a more robust WB solution than custom preset images, of course, I'll post about it here.

Leave a Reply

Your email address will not be published. Required fields are marked *