Technical Slop

Navigation

If you find my work helpful, please consider donating to the cause

thanks!
and don't forget to visit the wiki

Table of Contents

Displace
Considerations
Solid
Channels
Circle Grads
Gradients
PSD
Curve It
Tweakables
Scans
Broken China
Bulge
Math 1
Math 2
Heat Waves
Reflection Maps
Power Distort

Other
Cannify
Extrude
Whispies
AMP
Brush Making
Picking Colours
13 Revisited
Levels
Pixel Shuffle
UVW 2
Pui Pui
Light Rig

E-Mail

Whispies

Gotta love extracting images from their background. Usually pretty easy for smooth edges. Magnetic Pen and Magentic Lasso work rather well. So does the Paintbrush, my personal favorite. I suppose you could use the new eraser tools in PS 6, but they are destructive -- really defeats the purpose..

Layer Masks are good because they can be tweaked to no end.

The first part is a pretty easy technique. Check the channels, copy one, operate, apply Layer Mask. Pretty easy. There are several tuts out there that cover this. So, if what I'm presenting in this isn't enough, do a quick search. There are even some techniques out there that use Calculations or Apply Image. Mabye one of these days I'll put together a list. Addendum: Background Replacement Involving Hair.

The second part deals with cleaning up the halo effect. This is actually the main focus of this discussion. Nearly everybody give you a funny look if you suggest altering the original -- it's taboo, an unsaid rule, or something. Bah! I say. When I get to this part, things get a bit messy.

 

-Okay, here is our subject. So I'm cheating a bit by picking a picture with a white background, but this is my tutorial so get off my back.

But she's got plenty of whispies. Ohh... just what the doctor ordered. So we are going to extract her using a blue background.

 

-This first part is pretty easy due to my choice of picture to operate on.

First, check the seperate RGB channels and luck might just shine down. For this, I chose the Blue channel and copied it -- I don't want to be working on the Blue channel itself, but a copy of it. Very important.

The idea is to use the picture itself (or a part of it) for the mask.

 

-So now it's time to work on the copy of the Blue channel. This is an Alpha channel.

I ran Curves real quick like so. This allowed me to invert the alpha channel and tweak a bit. Even though you can keep an eye on the alpha as you curve it, there is still an element of hit-or-miss. If it's not good, you'll know when you use this Alpha as a Layer Mask.

 

-This is what is it now looks like... sort of. The face needed to be painted out. No big deal so quit your whining.

Remember, this is an Alpha channel derived from a copy of the Blue channel.

 

-Here we have it applied as a Layer Mask. I copied the original picture and tossed a layer filled with blue between them.

Yeah, it looks pretty nasy. I know. If this were smooth, I would Gauss and then Levels the Layer Mask. But this isn't, so that option is out.

Okay, it's time to breath deep because things are about to get messy. Brace yourself. Here we go.

The halo is nasty. It's gotta go. Theoretically you can get no halo effect if you nail the Curves step, but that doesn't happen that often. And, if you insist on nailing the Curves step, you are in for a lot of trial and error.

Here's the thing, Her hair is brown (so to speak), and the background is white. In between you have light brown and other shades. It's a real pain in the butt to nail it. And, if you do manage to nail the Curves step, you will loose too much hair detail (might be survivable, but defeats the purpose). Believe it or not, but a little bit of white halo is good right now.

So, rather than try to base the transparency on existing values, let's change the values of the pixels themselves. Might sound a bit weird and unorthodox, but it works.

 

-The first thing to do is to Quick Mask the whispies. No big deal.

When you exit Quick Mask, you will have to hit Selection > Inverse (ctrl + shit + i).

 

-Save the selection in a Alpha channel... just in case.

I don't know why I'm showing this step. Just one of those things. Roll with it.

But please bear in mind that saving selections in a Alpha channel is always a good idea. You just never know.

 

-Back to the Land of Layers Palette. I've disabled the Layer Mask and loaded the above selection. I've also hidden the marching ants by hitting ctrl + h. Time to fiddle some more.

I originally tried Image > Adjust > Replace Color, but that was more fiddling than I care for. Then I decided to give Image > Adjust > Curves (ctrl + m) a whirl. Pay dirt.

The reason for doing this with a selection is so that her eyes and earring and other things won't get changed at this step.

I've also hidden the blue layer. This is to show what she looks like after Curves. Normally I would leave the blue layer turned on so I can tweak visually. It's actually kind of cool to watch the halo disappear.

I grabbed the EyeDropper set to 5x5 and ran it through her hair. I settled on RBG values of R 158, G 136, and B 126. I'm going to use Curves to turn pure white into into those RGB values.

If you don't know much about Curves, read Using Curves by Steve. I've also uploaded the ACV file that I used (ts_extract1.acv). Chances are that's not enough, so here is a big graphic showing what I did.

 

-

 

It's not exactly what I would call an optimum Curving. If you look at the outer edge of her hair, you can see that it was darkened a bit. Should fiddle with Curves more before applying, but that little darkening is survivable. Chances are you wouldn't notice unless I point it out...like I just did. Hehe.

 

-Then I turned the Layer Mask back on. I also hit ctrl + d to de-select the hidden selection (this will get you every time).

Then I fiddled with the background just to see how well this works. Except for that little bit on the right side of her neck, I think it's good.

 

That the crux of it, but there is a bit more.

Let's back up to the beginning where I picked the Blue channel for the Layer Mask. It went something like this:

  1. Copy Blue channel
  2. Curve
  3. Paint
  4. Apply Layer Mask

Like I said, there is a bit of hit-or-miss when running Curves on the Alpha channel. You can get rid of most of the hit-or-miss factor by slightly re-arranging the order like so:

  1. Copy Blue channel
  2. Paint
  3. Apply Layer Mask
  4. Curve on Layer Mask

When you do things in that order, you can get the amount of halo that you want (or don't want) in a visual manner. Remember: the inverting of the alpha channel occurred when Curves was ran. Pretty slick all around if you ask me.

Another thing to try is Behind mode with the Paintbrush.

Let's say you have picture of some guy with a mohawk that's been dyed purple and pink. Rather than go through quick mask and curves and all that try this:

  1. Copy the picture with base layer mask or make sure you have copy of mask in alpha channel
  2. Apply the layer mask *gasp*
  3. Grab the paint brush and set to Behind mode
  4. Grab values just inside the halo and paint
  5. Repeat #4 as necessary
  6. Grab copy of layer mask and add it back in

I've played with this technique on several photos. I must admit that my success rate wasn't really that astounding. Of course it won't always work, but it is worth a shot. When it comes to extracting a subject from the background, there is no sure fire way for every application. This is just another thing to try when frustration starts to set in.

As always...

play.fiddle.learn