NEW! PaintShop Pro 2019

Tutorial: Frequency Separation for portrait retouching

For PhotoImpact, Paint Shop Pro, PhotoExplorer, PhotoExpress, GIF Animator & WebUtilities

Moderators: lata, Ken Berry

Tutorial: Frequency Separation for portrait retouching

Postby photodrawken » Mon Nov 26, 2012 9:07 am

I recently came across some articles extolling the virtues of the "Frequency Separation" technique for retouching skin in portraits. The advantage of that method is that by having the colours and the details on separate layers, the modifications can be done quite easily and quickly while preserving the texture of the skin -- the final result doesn't look like a rubber mask was painted on the face.

All the articles used Photoshop, and I couldn't find any info for doing the same thing in PSP. So, I experimented and here's what I came up with. (N.B., this is for an 8 bits/channel image)
Here's the original image:
Image
Uploaded with ImageShack.us

1. Duplicate the Background layer, and name the new layer "Colour".
2. On that "Colour" layer, use Adjust...Add/Remove Noise...Median Filter. Use a large enough aperture so the blemishes and uneven skin colours just begin to disappear:
Image
Uploaded with ImageShack.us
3. Copy the blurred "Colour" layer, and paste it in as a new image -- it will be "Image 1", e.g.
4. Use Image...Negative Image to reverse the colours of "Image 1":
Image
Uploaded with ImageShack.us
5. Back in the original image, turn off the visibility of the "Colour" layer so that only the original, sharp Background layer is showing.
6. Use Image...Arithmetic with these settings:
Image #1: your original (sharp) image
Image #2: Image 1 (the blurred, negative image)
Function: Add
Channel: All channels
Modifiers:
Divisor: 1
Bias: -128
Clip color values: selected
7. A new image ("Image 2") will be created, looking like a grayscale high-pass image:
Image
Uploaded with ImageShack.us
8. Copy "Image 2", and paste it into your original image as a new layer at the top of the layers stack, naming it "Texture".
9. Set the blending mode of that new "Texture" layer to "Overlay".

Your layers will look like this:
Image
Uploaded with ImageShack.us

Now you can use various techniques on the "Colour" layer to smooth out the colours of the blemishes and further even out the tones of the skin. I mostly used the Makeover Tool's "Blemish Fixer", but also selected some areas with the Freehand Selection Tool set to a feather of 8 pixels and applied a Gaussian blur of 8 pixel radius. Dodging and burning also came in handy.
The "Texture" layer is used to remove the last traces of some of the blemishes. I used the "Blemish Fixer" for that.
My quickly done final result:
Image
Uploaded with ImageShack.us

Of course, you can go nuts with the technique (as explained in several of the articles found on the Web) :wink: .
Enjoy!
Ken
Yes, I think it can be eeeeeasily done...
Just take everything out on Highway 61.
photodrawken
 
Posts: 684
Joined: Wed Sep 26, 2012 8:40 am
Location: USA
operating_system: Windows 10
System_Drive: C
32bit or 64bit: 64 Bit
ram: 16Gb
Hard_Drive_Capacity: 324Gb

Re: Tutorial: Frequency Separation for portrait retouching

Postby teknisyan » Wed Nov 28, 2012 3:17 am

Wow..thanks for the tip! :)

I usually just edit the photo without using layers..
Like reading blogs?
About Tech
About Sports
Pnoy.Me - A URL Shortener
Follow me on Facebook & Twitter
User avatar
teknisyan
 
Posts: 2423
Joined: Wed Oct 06, 2010 4:18 pm
Location: Riyadh, KSA
operating_system: Windows 7 Home Premium
System_Drive: C
32bit or 64bit: 64 Bit
motherboard: Sony Corporation VAIO
processor: Intel Corel i5
ram: 4 GB
Video Card: ATI Mobility Radeon HD 5650
sound_card: Realtek HD Audio
Hard_Drive_Capacity: 500 GB

Re: Tutorial: Frequency Separation for portrait retouching

Postby photodrawken » Wed Nov 28, 2012 7:50 am

Abiel Corel NA wrote:Wow..thanks for the tip! :)

I usually just edit the photo without using layers..

You're welcome!

It seems like overkill for most scenarios, but for smoothing out harsh shadow edges (like the one on the photo right side of her face), or large areas of makeup (as on her cheeks), it can't be beat.

One thing I've subsequently changed in my use of the technique is to use a Gaussian blur instead of the Median Filter -- that Median Filter smears the image a bit too much for my liking....
Image
Uploaded with ImageShack.us

Note the more accurate highlight shapes in the eyes. For this example, I finished it with some sharpening using an Unsharp Mask.
Ken
Yes, I think it can be eeeeeasily done...
Just take everything out on Highway 61.
photodrawken
 
Posts: 684
Joined: Wed Sep 26, 2012 8:40 am
Location: USA
operating_system: Windows 10
System_Drive: C
32bit or 64bit: 64 Bit
ram: 16Gb
Hard_Drive_Capacity: 324Gb

Re: Tutorial: Frequency Separation for portrait retouching

Postby caspia1 » Mon May 27, 2013 5:45 pm

Excellent!
Sorted it out fine, now.
many thanks
caspia1
 
Posts: 92
Joined: Mon Nov 01, 2010 12:55 pm
Location: Madrid, Spain
operating_system: Windows 10
System_Drive: C
32bit or 64bit: 64 Bit
ram: 16gb
Hard_Drive_Capacity: 1Terrabit
Monitor/Display Make & Model: twin hp displays
Corel programs: Pro 2018

Re: Tutorial: Frequency Separation for portrait retouching

Postby photodrawken » Mon May 27, 2013 7:27 pm

Glad to help.

Nice to hear the technique is also relevant for B&W photos.
Ken
Yes, I think it can be eeeeeasily done...
Just take everything out on Highway 61.
photodrawken
 
Posts: 684
Joined: Wed Sep 26, 2012 8:40 am
Location: USA
operating_system: Windows 10
System_Drive: C
32bit or 64bit: 64 Bit
ram: 16Gb
Hard_Drive_Capacity: 324Gb

Re: Tutorial: Frequency Separation for portrait retouching

Postby simpak » Fri Jun 21, 2013 7:58 am

photodrawken wrote:I recently came across some articles extolling the virtues of the "Frequency Separation" technique for retouching skin in portraits. The advantage of that method is that by having the colours and the details on separate layers, the modifications can be done quite easily and quickly while preserving the texture of the skin -- the final result doesn't look like a rubber mask was painted on the face.

All the articles used Photoshop, and I couldn't find any info for doing the same thing in PSP. So, I experimented and here's what I came up with. (N.B., this is for an 8 bits/channel image)
Here's the original image:
Image
Uploaded with ImageShack.us

1. Duplicate the Background layer, and name the new layer "Colour".
2. On that "Colour" layer, use Adjust...Add/Remove Noise...Median Filter. Use a large enough aperture so the blemishes and uneven skin colours just begin to disappear:
Image
Uploaded with ImageShack.us
3. Copy the blurred "Colour" layer, and paste it in as a new image -- it will be "Image 1", e.g.
4. Use Image...Negative Image to reverse the colours of "Image 1":
Image
Uploaded with ImageShack.us
5. Back in the original image, turn off the visibility of the "Colour" layer so that only the original, sharp Background layer is showing.
6. Use Image...Arithmetic with these settings:
Image #1: your original (sharp) image
Image #2: Image 1 (the blurred, negative image)
Function: Add
Channel: All channels
Modifiers:
Divisor: 1
Bias: -128
Clip color values: selected
7. A new image ("Image 2") will be created, looking like a grayscale high-pass image:
Image
Uploaded with ImageShack.us
8. Copy "Image 2", and paste it into your original image as a new layer at the top of the layers stack, naming it "Texture".
9. Set the blending mode of that new "Texture" layer to "Overlay".

Your layers will look like this:
Image
Uploaded with ImageShack.us

Now you can use various techniques on the "Colour" layer to smooth out the colours of the blemishes and further even out the tones of the skin. I mostly used the Makeover Tool's "Blemish Fixer", but also selected some areas with the Freehand Selection Tool set to a feather of 8 pixels and applied a Gaussian blur of 8 pixel radius. Dodging and burning also came in handy.
The "Texture" layer is used to remove the last traces of some of the blemishes. I used the "Blemish Fixer" for that.
My quickly done final result:
Image
Uploaded with ImageShack.us

Of course, you can go nuts with the technique (as explained in several of the articles found on the Web) :wink: .
Enjoy!


Thanks for this mate, really appreciate it :)
simpak
 
Posts: 1
Joined: Fri Jun 21, 2013 7:54 am
operating_system: Windows 7 Ultimate
System_Drive: C
32bit or 64bit: 32 Bit

Re: Tutorial: Frequency Separation for portrait retouching

Postby Klossr » Fri Oct 24, 2014 11:26 am

The procedure still works, although the screenshots aren't there anymore :D
When you start with a 16 bits TIFF-file it doesn't work; the colors first have to be reduced to 8 bits. The shortcut for that: CTRL+SHIFT+R

I have made a script for this procedure. You can paste it in Notepad and save it in C:\Users\YOUR_USERNAME\Documents\Corel PaintShop Pro\16.0\Scripts - Trusted
It takes some time to run and you have to fill in the values as described in the procedure the first time.
You'll get 3 pictures as a result; the script will ask for the first one to save it as a photoshop-file (as it contains layers). The other ones are temp-files which can be discarded.

The script:
from PSPApp import *

def ScriptProperties():
return {
'Author': u'Joop Verdoorn',
'Copyright': u'',
'Description': u'',
'Host': u'PaintShop Pro',
'Host Version': u'16.00'
}

def Do(Environment):
# EnableOptimizedScriptUndo
App.Do( Environment, 'EnableOptimizedScriptUndo', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# LayerDuplicate
App.Do( Environment, 'LayerDuplicate', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# Eigenschappen laag
App.Do( Environment, 'LayerProperties', {
'General': {
'Opacity': None,
'Name': u'Colour',
'IsVisible': None,
'IsTransparencyLocked': None,
'LinkSet': None,
'UseHighlight': None,
'PaletteHighlightColor': None,
'GroupLink': None,
'BlendMode': None
},
'BlendRanges': None,
'Path': (0,0,[],False),
'ArtMediaTexture': None,
'Effects': None,
'BrightnessContrast': None,
'ChannelMixer': None,
'ColorBalance': None,
'CurveParams': None,
'HSL': None,
'Threshold': None,
'Levels': None,
'Posterize': None,
'Vibrancy': None,
'Overlay': None,
'LocalToneMapping': None,
'Invert': None,
'HistogramAdjustment': None,
'FillLightClarity': None,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default,
'Version': ((16,0,0),1)
}
})

# Mediaan
App.Do( Environment, 'Median', {
'Aperture': 13,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# Copy
App.Do( Environment, 'Copy', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# PasteGraphicAsNewImage
App.Do( Environment, 'PasteGraphicAsNewImage', {
'CreateFromDropData': False,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# SelectDocument
App.Do( Environment, 'SelectDocument', {
'SelectedImage': 0,
'Strict': False,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# NegativeImage
App.Do( Environment, 'NegativeImage', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# SelectDocument
App.Do( Environment, 'SelectDocument', {
'SelectedImage': -1,
'Strict': False,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# LayerSetVisibility
App.Do( Environment, 'LayerSetVisibility', {
'Command': App.Constants.ShowCommands.Hide,
'Path': None,
'WorkingMode': 1,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default,
'Version': ((16,0,0),1)
}
})

# Arithmetic
App.Do( Environment, 'Arithmetic', {
'AllChannels': True,
'Bias': -128,
'Channel1': 0,
'Channel2': 0,
'ClipColorValues': True,
'Divisor': 1,
'Function': App.Constants.ArithmeticFunctions.Add,
'SourceImage1': 0,
'SourceImage2': 1,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# SelectDocument
App.Do( Environment, 'SelectDocument', {
'SelectedImage': 2,
'Strict': False,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# Copy
App.Do( Environment, 'Copy', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# SelectDocument
App.Do( Environment, 'SelectDocument', {
'SelectedImage': -2,
'Strict': False,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# PasteAsNewLayer
App.Do( Environment, 'PasteAsNewLayer', {
'CreateFromDropData': False,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match,
'Version': ((16,0,0),1)
}
})

# MultiObjectProperties
App.Do( Environment, 'MultiObjectProperties', {
'General': {
'Opacity': None,
'Name': None,
'IsVisible': None,
'IsTransparencyLocked': None,
'LinkSet': None,
'UseHighlight': None,
'PaletteHighlightColor': None,
'GroupLink': None,
'BlendMode': App.Constants.BlendMode.Overlay
},
'Effects': None,
'WorkingMode': 1,
'Path': None,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.AllAlways,
'Version': ((16,0,0),1)
}
})

# FileSaveAs
App.Do( Environment, 'FileSaveAs', {
'Encoding': {

},
'FileName': u'-fs.psd',
'FileFormat': App.Constants.FileFormat.PSD,
'FormatDesc': u'PSD Photoshop',
'WorkingMode': 0,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.AllAlways,
'Version': ((16,0,0),1)
},
'DefaultProperties': []
})
Klossr
 
Posts: 2
Joined: Fri Oct 24, 2014 11:00 am
operating_system: Windows 7 Professional
System_Drive: C
32bit or 64bit: 64 Bit

Re: Tutorial: Frequency Separation for portrait retouching

Postby trueblue » Fri Oct 24, 2014 10:41 pm

I wish the photos were still available, this would make a super tutorial.
~~~~Maureen~~~~
Tutorial Writer for PaintShop Pro

Creative-Designs
Free! PaintShop Pro Tutorials
PaintShop Pro - VideoStudio Pro - AfterShot - CorelDraw - Painter
User avatar
trueblue
Moderator
 
Posts: 1576
Joined: Sat Dec 30, 2006 1:43 am
Location: Australia
operating_system: Windows 10
System_Drive: C
32bit or 64bit: 64 Bit
motherboard: ASUS Z97M Plus
processor: Intel Core i7-4790 CPU 3.60 GHz
ram: 12GB
Video Card: NVIDIA GeForce GTX 750
sound_card: NVIDIA High Def Audio Realtek High Def
Hard_Drive_Capacity: 1.740GB
Monitor/Display Make & Model: Benq E2420HD 24" wide x 2 monitors
Corel programs: PSPX8-VideoStudio-AfterShot


Return to IMAGING & WEB Product Tutorials

Who is online

Users browsing this forum: No registered users and 0 guests