Mathematically, this technique comes down to a bandstop filter--we are removing elements whose spatial frequencies are roughly the size of acne (larger than pores, smaller than contours).
In this tutorial, we'll start with a portrait and apply the degrunge method to remove the slight imperfections in the skin and leave the desirable textures intact. Here's the starting image (you can click on an image to see the full sized version.)

Make a duplicate of the layer and apply Gaussian blur as shown below. Choose just the right amount of blur to remove the skin texture we don't want without over-doing it without overly smoothing out contours like the cheeks and noise.
In this example, a blur radius of about 25 pixels seems about right

So now we have the original on the layer called "Background", and the blurred on the layer called "Layer 1". With layer 1 active, choose apply image:

...and then set the Apply Image parameters as shown. The source layer should be "Background" and the blending mode will be subtract. Set the scale and offset to 1 and 128 respectively. This gives us the opposite of the blur which is the highpass of the image. Except in this case it's the negative or inverse of the high pass.

Set the blend mode of Layer 1 to "Linear Light" and set the fill value to 50%. Adding the inverse of the highpass back at 50% fill back to the original image is equivalent to the original gaussian blur.

(Why is this the same as Gaussian blur? Because Layer 1 is, as mentioned, the inverse of the highpass of the image. Linear light is equivalent to image addition here, so adding the inverse of the highpass of an image to itself is the same as subtracting the highpass of an image from itself, which is the equivalent of lowpass which is just another name for the Gaussian blur.)
Now apply gaussian blur to the our high-pass layer (Layer 1). This time use a smaller radius blur. Notice how the finer skin texture comes back. I've found that choosing this radius to be around 1/3rd of the first blur is about right for skin. What we have created is a band-stop filter that is removing textures with radii between about 8 pixels and 25 pixels--this is the size of the undesired skin textures.

We don't want this filtering applied everywhere--just to the skin. So add a black mask to Layer 1 (alt-click the create mask button) and paint white in the places where you want the degrunge effect. You can be pretty quick-n-sloppy here.

It's as simple as that. Continue with other processing.
Once you get the hang of it, it only takes about 30 seconds to get to the last step where you're brushing out the undesirable texture. All but the last step could be automated in an action.
Bart
bart_hickman@comcast.net
Great Tutorial.
ReplyDeleteI like the combination of Math and Image Manipulation.
Great stuff. Works perfect! :-)
ReplyDeleteThank you.
Love this! :)
ReplyDeleteFinally a way to blur only details of a certain size :D
I turned mine into an action that saves this as a (inverted) smart layer with an editable high pass and blur filter - and asks for the radius settings :) Handy!
Why don't they make bandpass smart filter so that you can do linear subtract that layer with a layer mask and be done with it?
ReplyDelete