How to Add Realistic Falling Snow to a Photo in Photoshop
Falling snowflakes are a great way to make your winter photography much more interesting. Sometimes, the weather doesn't cooperate however, and you have to turn to Photoshop to get the job done. In this tutorial, we will explain how to create a realistic falling snow effect in Photoshop and show you how to apply it to your images.
You will need the following photo to complete this tutorial. If you don't want to purchase this photo, feel free to find an alternative.
1. Change the Sky
Open your base image in Photoshop. The first step in your editing process should be to create a backup of your base layer so you can always go back to it if something happens. To do this, Double-click the layer to unlock it and name it Backup. Then duplicate it by pressing Command/Ctrl + J (or you can always go to Layer > Duplicate Layer) and name the new layer Background. Finally, create a Fill Layer by going to Layer > New Fill Layer. Pick a dark gray color and place it between the two layers.
One problem with pictures taken during winter is that they often end up having a dull gray sky. In order to have a more interesting result, and to make our snow more visible, we will first have to replace our current sky. Feel free to skip this step if you are working on your own photo and already have visually interesting sky.
First, select the Magic Wand Tool (W) and, while holding Shift, create a rough selection of the sky. Click on various places in the sky to create a rough selection of the sky. Then, go to Layer > Layer Mask > Hide Selection to create your mask.
With your layer selected, open the Properties panel and click on Mask Edge (please note you need Photoshop CS6 or higher to access this option). With the Refine Mask window now open, you can brush on the image to refine the mask. Before doing anything, you will most likely need adjust your brush size in the upper panel. You can also click on View Mode and set it to black so you have a better preview of what you are working on.
Then, you can brush over the trees and the horizon in order to soften and refine the mask. Once you are done, you can play with the settings in the window in order to further refine your mask.
Finally, you can reduce the brush size, zoom in on your image and carefully paint over the borders of your selection to paint out the white fringe.
Once the mask is done, we can add the new background sky. In this case, we will use a gradient to create a clear sky, but you can always use stock photos of clouds if you want to. First, create a Gradient Fill layer by going in the options located in the lower right corner of the Layer panel and selecting Gradient. Make sure the gradient is set to 90° and Double-click on the gradient image to edit it. Set the colors as shown in the example below and press OK.
We will add a few layers to help blend our new sky with the background. First, create a new layer (Command/Ctrl + Shift + N). Select the Brush Tool (B), pick a dark blue color (#303850) and paint over the trees. Name the layer Hue, set its Blending Mode to Hue, and its opacity to 35%.
Next, we'll add a little bit of haze to further blend our trees with the sky. Create a new layer, pick the Brush Tool (B), and holding Shift, paint a straight line over the horizon. Duplicate your layer twice, hit Command/Ctrl + T to enter the Free Transform mode and scale both layer up vertically.
Set all three layers to 20% opacity and name them Haze.
Since the haze is in the background, it shouldn't cover the women's legs. To correct this, select the Haze and the Hue layers, and hit Command/Ctrl + G to group them together. Then, give the group a mask by going to Layer > Layer Mask > Reveal All. Then, with a hard black brush, paint over the woman in order to remove the haze.
2. Generate the Snowflakes
The usual method to generate snow is to combine the Add Noise and Gaussian Blur filter. Start by creating a new layer (Command/Ctrl + Shift + N), then fill it with black (D, then Alt + Backspace), and then go to Filter > Noise > Add Noise. Then go to Filter > Blur > Gaussian Blur and apply the filter. Please note that the higher you set the blur's radius, the bigger the snowflakes will be.
Once you are done, hit Command/Ctrl + M to bring up the Curves adjustment window. In this window, you will see a gray pyramid shaped area.
You can now adjust the contrast of your layer in order to make it look like snow. To do so, bring the left handle to the to the lower left corner of the pyramid, and the right handle toward the middle of the area. Then, click in the middle of the line to create a new handle, and drag it downward. You should get the following effect.
Name your layer Snow and set its Blending Mode to Screen to blend it with your scene.
Now, depending on the size of the image you are working on, you might need to adjust the size of your layer so the snowflakes fit the scene. In this case, I doubled my layer size using the Free Transform mode (Command/Ctrl + T).
To make the snowflakes more realistic, we will give our layer a small Motion Blur. To do so, go to Layer > Blur > Motion Blur and input the following settings. Be careful not to set the distance to high, otherwise the result will look like rain instead of snow.
You should get the following result.
Now, we could end the tutorial there, but the result is a little bit dull and unrealistic. This is because all of our snowflakes are the same size and going in the same direction, which is never the case in real life. In fact, the key to get a more interesting result is randomness. To do so, we'll repeat the effect we just did a few more times, each time varying our Gaussian Blur's radius and the size of our layer.
It is also important to give your layers various Motion Blur settings. As you can see, in this case, I decreased the Angle and increased the Distance of the pixels.
Below you can see the four different layers I created, and the result obtained when they are combined.
The problem with combining multiples layers is that you end up with a lot of snow. If you are looking to create a snowstorm, this is great, but otherwise you will need to soften the effect a little bit. To do so, give your Snow layer a mask. Make sure the mask is selected, and go to Filter > Render > Clouds. Hit Command/Ctrl + M to bring up the Curves adjustment window and give it an S shaped curve to increase the contrast.
Another advantage of using the masks is that you get a much more random result when applied to multiple layers.
It is also possible to manually paint out some areas using the mask. In this case, one of our layers has some very small snowflakes. Since these are meant to look like they are far away, they shouldn't appear in front of the woman. I corrected this by painting them out in the layer's mask. This step would also be useful if, for instance, you have some big snowflakes covering important parts of your picture like a person's eyes.
We can also create a Bokeh effect to simulate snowflakes that would have landed on the camera's lens, or simply for a stylistic purpose. To do so, create a new layer and paint a really big bright dot in the middle of your scene. Then, select the Move Tool (V) and place it in one of the corner of your image so it doesn't hide your subject.
Repeat the process a couple of times until you are satisfied. Then, give each of your layers a soft Gaussian Blur, and set them to 10 % opacity.
Name these layer Bokeh and place everything into a new group named Snow.
3. Color Correction
Once we are done with the snow, we can add a few color corrections in order to make our picture more interesting and bring everything together. The first step would be to add a blue tint in order to make it feel cooler. Go in the options located at bottom right of your Layer panel, and create a Gradient Map. In the editor, select a dark and a bright blue color and press OK.
Duplicate the layer three times and set the blending modes to Hue, Color, and Soft Light respectively. Set all layers to 10% opacity more or less.
You can also add a Curves adjustment layer in order to increase the contrast a little bit.
In this step, we'll add a vignette effect in order to make our subject stand out a little bit more. First, create a new layer. Pick the Rectangular Marquee Tool (M) and draw a selection in the center of your image. Then, hit Command/Ctrl + Shift + I to invert the selection, and go to Edit > Fill to fill the selection with a dark blue color (#222838). Then, add a large Gaussian Blur, and play with the layer's size until you are happy with the result.
Name your layer Vignette, set it to Multiply, and 50% opacity.
In this case, I also added a Hue/Saturation adjustment layer and played a bit with the reds so the leaves on the ground contrast nicely with the picture's overall blue tint. I then added a mask to keep the woman's hairs and skin intact.
In the end, place everything together in a group named Adjustments.
Our image is done, but we can add a few more things to make it pop out even more. First, if you have Photoshop CS6 or higher, you can add an Iris Blur effect. To do so, you first need to select all of your layers, hit Command/Ctrl + J to duplicate them, and go to Layer > Merge Layers to merge them together. Then, go to Filter > Blur > Iris Blur and play with the handles and the blur amount to get a nice blurry effect.
On the same layer, we can also add a Sharpen adjustment by going to Filter > Sharpen > Smart Sharpen. Since I am working on a large image, I used a 4px radius, but you should set it lower if you are working on a smaller image. The key here is subtlety.
In case you missed anything, here is how your Layer Panel should look.
You can also bring back your Backup layer and compare it to your final result to see the difference.
In this tutorial, I showed you how to add realistic falling snow to an image using Photoshop's Noise and Gaussian Blur effects. I hope that you learned something from this tutorial and can use these techniques to add realistic snow to images of your own.