Howto:Cumulus cloud texture extraction

From FlightGear wiki
Jump to navigation Jump to search

Author: WooT This is a link to the FlightGear forum. (Sept. 2010)

I would like to publish here a tutorial on cumulus cloud texture extraction, if anyone is interested to try it on their source images. The method is described for GIMP, but the principle is the same for photoshop, only tools names would change.

Please also note that these are only guidelines, based on the idea of working the pictures in a non destructive way, with as little hand work as possible to limit artificial stokes and "handwork print". I didn't have time enough to investigate the technique far enough for production quality results, but I feel this approach goes in the good direction when we need to extract information from such a diffuse and noisy signal that a cloud picture is, without bringing in hand made artifacts.


A typical cumulus cloud source image contains a lot of blue, either in the sky that we want totally removed , and in the cloud itself. We want to get rid of this, to create a black and white semi transparent texture.

Simply turning blue to transparency will loose a lot of fine detailing, specially in the thin feathery boundaries. Then main idea is to filter this blue component in order to get a very contrasted black and white solid picture, that we can then use as a transparency mask over a grey version of the cloud picture.

Here is how I worked so far:

  • denoise . This is done with the wavelet denoise plugin available here : One interesting feature of this filter, is that you can denoise the Luminance, Blue Chroma and Red Chroma separately, so with fine tuning on each channel and using small threshold values, you can denoise the picture with minimal detail loss.
  • Color removal, by Channel mixing. This step has two goals : make a black and white image, and filter as much blue as possible to darken the sky. This filter is found in "Colors", "Components","Channel Mixer" . You have to check the "monochromatic" checkbox, and use R, G and B values to simulate a yellow/orange filter. I found that R 72 , V 28, B 0 works great. ( note : The best would be to use a physical red or orange filter when taking the picture - I ordered such a filter for my camera, second hand, back in the begining of the summer, but this was never delivered...joys of buying 2nd hand on the net... Channel mixing simulates this quite well, but we are loosing light in the process )
  • Compression of dark tones, this is done with the "Curves" tool. I shift the black point to where the histogram begins to raise, and even a bit more, so that the gray part of the sky becomes black, and I push light grays and white a little to compensate. If you are not comfortable with the curves tool , you can think of it as remapping the values over the image, what we want here it that the gray pixels of the sky become black, and that the lighter pixels in the cloud remain as they are. Input is on the horizontal axis, output on the vertical. By shifting the curve's origin to the right, we get rid of the darkest grays, and by making the curve a bit convex, we readjust dynamic to preserve lighter tones. This sounds tricky but its easy to play with this, as you can see the preview in real time.
  • repeating 3 with other values on new layers if the background is not really uniform. Often the blue of the sky ranges from dark at the top, to lighter at the bottom. If I do step 3 based on the lighter blue zone, this "eats" many details in the darkest zone. So I make step 3 on several layers, cutting the image in bands from top to bottom, and I re-assemble these layers with masks, so that I get a pitch black sky and good cloud detail all over the image.
  • Some manual airbrush work may be needed to erase / correct unwanted cloud parts. I always use the softest brush available, with very light opacity. Here a tablet and pen are almost mandatory for clean work.
  • At this point we have a good black and white image. We can now use this black and white image as a layer mask over a greyscale version of the the original image.We can also play on the mask levels , or even paint in the mask , to fine tune transparency.


One of the problems I met with this approach, is that it leads to unwanted sheer areas in the cloud, where we would like to have opaque colors. Painting on the mask is easy, and allows to quickly get rid of these sheer parts. The key is to use a very feathery brush, and avoid by all means to touch any boundaries, so we don't destroy all the hard work we made to preserve fine detailing on feather details.