Jump to: Board index » General » Fusion

Sugestions on how to remove green screen from hair

Learn about 3D compositing, animation, broadcast design and VFX workflows.
  • Author
  • Message
Offline

Edwin Rivera

  • Posts: 160
  • Joined: Wed Aug 03, 2016 4:53 pm

Sugestions on how to remove green screen from hair

PostMon Dec 26, 2016 7:37 pm

Hi guys hope you doing good on the holidays

I was trying to remove the chroma key from an actor's hair but i cannot find my way around it

My best choice was an ultrakey since the green screen footage i was given is not well lighten and used a poly mask to just focus on the actor's hair and after working with the spills inside the ultrakey i used a matte control to get rid of most of it

But some parts of the hair are completly lost and some weird white and/or black noise from the keying appears all of a sudden and i don't know what to do

What are your sugestions?

Thank you and have a nice day
Offline

Sander de Regt

  • Posts: 4133
  • Joined: Thu Nov 13, 2014 10:09 pm

Re: Sugestions on how to remove green screen from hair

PostMon Dec 26, 2016 7:44 pm

Can you show us some stills from the footage? Keying is a very specific art, the more specific your request, the better people can help.
Sander de Regt

ShadowMaker SdR
The Netherlands
Offline

Bob Place

  • Posts: 54
  • Joined: Thu Jan 21, 2016 10:13 pm
  • Location: Atlanta, Ga. USA

Re: Sugestions on how to remove green screen from hair

PostMon Dec 26, 2016 8:36 pm

I completely agree that a still would help a lot. I hate keying hair on a bad green screen. But have found a lot of success with hair by ignoring your typical keyers, and using masks and CC tools to create a matte.

Not sure if that process would work with your video.
Bob Place
Offline

Lee Gauthier

  • Posts: 941
  • Joined: Wed Jul 16, 2014 10:51 pm

Re: Sugestions on how to remove green screen from hair

PostTue Dec 27, 2016 8:07 am

Need to see the footage, but some best practices are:

-Garbage matte aggressively so you don't waste time keying empty space;

-Do a separate keying pass and beauty pass. Don't try to hold correct colors while cutting a key, concentrate on the matte.

-Remove green spill by reducing green in pixels. If you can do channel math, set G<min of R or B. (Adobe After Effects has a very nice plug-in called Advanced Spill Suppression which automates some channel math. Check 3:30 on the linked video.)
Offline

RichardJolly

  • Posts: 196
  • Joined: Tue Aug 27, 2013 10:55 am

Re: Sugestions on how to remove green screen from hair

PostTue Dec 27, 2016 3:32 pm

Lee, when you say do a separate pass, do you mean a separate layer? Doing relatively crude keying on PPro with difficult black (Indian) hair and clothes which kept showing key through, I had good success using a couple of layers, each optimised for a particular problem area and the sum of the two giving a much improved result.

Sent from my SM-N9005 using Tapatalk
Offline

Lee Gauthier

  • Posts: 941
  • Joined: Wed Jul 16, 2014 10:51 pm

Re: Sugestions on how to remove green screen from hair

PostTue Dec 27, 2016 6:10 pm

RichardJolly wrote:Lee, when you say do a separate pass, do you mean a separate layer? Doing relatively crude keying on PPro with difficult black (Indian) hair and clothes which kept showing key through, I had good success using a couple of layers, each optimised for a particular problem area and the sum of the two giving a much improved result.

Sent from my SM-N9005 using Tapatalk


Yes. You make a dupe of the greenscreen footage, key one for the matte, color correct the other for beauty, then apply the matte to the beauty pass. You don't care if the keying pass mangles the FG color, and you don't care if the beauty pass would key well. This is SOP in any VFX house.

This page gives kind of an overview of the many steps of professional keying.

With black shiny hair, you should be doing a core matte. That fills in the center of the FG, so all you have to worry about are the edges. You can make a core matte procedurally, by using a basic keyer with fill and choke. Or you can do it with roto.

I posted a link to a video in another thread.
Offline

Kel Philm

  • Posts: 650
  • Joined: Sat Nov 19, 2016 6:21 am

Re: Sugestions on how to remove green screen from hair

PostTue Dec 27, 2016 7:07 pm

Edwin Rivera wrote:Hi guys hope you doing good on the holidays

I was trying to remove the chroma key from an actor's hair but i cannot find my way around it

My best choice was an ultrakey since the green screen footage i was given is not well lighten and used a poly mask to just focus on the actor's hair and after working with the spills inside the ultrakey i used a matte control to get rid of most of it

But some parts of the hair are completly lost and some weird white and/or black noise from the keying appears all of a sudden and i don't know what to do

What are your sugestions?

Thank you and have a nice day


Check the matte generated from the key, this is prob creating the noise you are seeing, it may be a noisy alpha channel. If the footage is a compressed codec there is not a lot you can do (maybe try setting the loader to 16 bit), if its sensor noise, try running some noise reduction (this may help compressed footage a little).

Often with GS footage I try to get a solid key on the hair and then I add a seperate layer for the fine edge detail, in some cases I use a solid colour matched to the hair with the alpha channel if I am having colour problems with fringing that I cannot correct easily.

Lightwrap from the BG will also help tie the comp and edges in as well.
Offline
User avatar

Rony Soussan

  • Posts: 727
  • Joined: Tue Nov 11, 2014 5:33 pm

Re: Sugestions on how to remove green screen from hair

PostThu Dec 29, 2016 6:43 pm

Without having read the entire thread, perhaps a matte tool with spill from the image tab?
Here are some great tools to help as well.


Here is a clean plate generator and a 3 level + edge correction lightwraper (two sets of codes)
Code: Select all
{
   Tools = ordered() {
      CleanPlater1 = MacroOperator {
         CtrlWZoom = false,
         Inputs = ordered() {
            MainInput1 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "Input",
            },
            Input1 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "ScreenColor",
               Default = 1,
            },
            Input14 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "preCC",
               Default = 0,
            },
            Input2 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "darksR",
               Default = 0,
            },
            Input3 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "darksG",
               Default = 0,
            },
            Input4 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "darksB",
               Default = 0,
            },
            Input5 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "lightsR",
               Default = 1,
            },
            Input6 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "lightsG",
               Default = 1,
            },
            Input7 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "lightsB",
               Default = 1,
            },
            Input8 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "Treshold",
               Default = 0,
            },
            Input9 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "Grow",
               Default = 0,
            },
            Input10 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "Expand",
               Default = 0,
            },
            Input11 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "Shrink",
               Default = 0,
            },
            Input12 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "Fill",
               Default = 0,
            },
            Input13 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "UseInputAlpha",
               Default = 0,
            }
         },
         Outputs = {
            MainOutput1 = InstanceOutput {
               SourceOp = "Out",
               Source = "Output",
            }
         },
         ViewInfo = GroupInfo { Pos = { 356, 123 } },
         Tools = ordered() {
            PreCC = ColorCorrector {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Channel = Input { Value = 3, },
                  MasterRedGain = Input { Expression = "CleanPlater.lightsR", },
                  MasterRedBrightness = Input { Expression = "CleanPlater.darksR", },
                  MasterGreenGain = Input { Expression = "CleanPlater.lightsG", },
                  MasterGreenBrightness = Input { Expression = "CleanPlater.darksG", },
                  MasterBlueGain = Input { Expression = "CleanPlater.lightsB", },
                  MasterBlueBrightness = Input { Expression = "CleanPlater.darksB", },
                  ColorRanges = Input {
                     Value = ColorCurves {
                        Curves = {
                           {
                              Points = {
                                 { 0, 1 },
                                 { 0.4, 0.2 },
                                 { 0.6, 0 },
                                 { 1, 0 }
                              }
                           },
                           {
                              Points = {
                                 { 0, 0 },
                                 { 0.4, 0 },
                                 { 0.6, 0.2 },
                                 { 1, 1 }
                              }
                           }
                        }
                     },
                  },
                  Input = Input {
                     SourceOp = "CleanPlater",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -907.5, 43.15 } },
            },
            REDin1 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 1, },
                  Background = Input {
                     SourceOp = "PreCC",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "PreCC",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -742.5, 43.15 } },
            },
            GREENin1 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 2, },
                  Background = Input {
                     SourceOp = "PreCC",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "PreCC",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -742.5, 109.15 } },
            },
            Maximum2 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 4, },
                  CombineOp = Input { Value = 4, },
                  Background = Input {
                     SourceOp = "REDin1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "BLUEin1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -632.5, 76.15 } },
            },
            Substract2 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 4, },
                  CombineOp = Input { Value = 2, },
                  Background = Input {
                     SourceOp = "GREENin1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "Maximum2",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -522.5, 109.15 } },
            },
            Substract1 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 4, },
                  CombineOp = Input { Value = 2, },
                  Background = Input {
                     SourceOp = "REDin1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "Maximum3",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -522.5, 43.15 } },
            },
            Maximum3 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 4, },
                  CombineOp = Input { Value = 4, },
                  Background = Input {
                     SourceOp = "GREENin1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "BLUEin1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -632.5, 142.15 } },
            },
            Maximum1 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 4, },
                  CombineOp = Input { Value = 4, },
                  Background = Input {
                     SourceOp = "REDin1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "GREENin1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -632.5, 10.15 } },
            },
            Substract3 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 4, },
                  CombineOp = Input { Value = 2, },
                  Background = Input {
                     SourceOp = "BLUEin1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "Maximum1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -522.5, 175.15 } },
            },
            BLUEin1 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 3, },
                  Background = Input {
                     SourceOp = "PreCC",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "PreCC",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -742.5, 175.15 } },
            },
            SWgb = Dissolve {
               Transitions = {
                  [0] = "DFTDissolve"
               },
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Mix = Input { Expression = "CleanPlater.ScreenColor", },
                  Background = Input {
                     SourceOp = "Substract1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "Substract2",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -412.5, 43.15 } },
            },
            Dissolve1_2_1 = Dissolve {
               Transitions = {
                  [0] = "DFTDissolve"
               },
               CtrlWShown = false,
               Inputs = {
                  Mix = Input {
                     Value = 0,
                     Expression = "1-SWgb.Mix",
                  },
                  Background = Input {
                     SourceOp = "SWgb",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "Substract3",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -412.5, 175.15 } },
            },
            CleanPlater = BrightnessContrast {
               PassThrough = true,
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Smooth = Input { Value = 3, },
                  Red = Input { Value = 0, },
                  Green = Input { Value = 0, },
                  Blue = Input { Value = 0, },
                  Gain = Input { Value = 1, },
                  Gamma = Input { Value = 1, },
                  High = Input { Value = 1, },
                  Saturation = Input { Value = 1, },
                  Treshold = Input { Value = 0.0619047619047619, },
                  Grow = Input { Value = 0.0238095238095238, },
                  Expand = Input { Value = 20, },
                  Shrink = Input { Value = 0, },
                  Fill = Input { Value = 359.52380952381, },
               },
               ViewInfo = OperatorInfo { Pos = { -1017.5, 208.15 } },
               UserControls = ordered() {
                  Gain = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  Gamma = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  Contrast = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  Brightness = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  PreDividePostMultiply = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  ClipWhite = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  ClipBlack = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  High = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  Low = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  Saturation = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  ScreenColor = {
                     { MBTNC_AddButton = "Blue" },
                     { MBTNC_AddButton = "Green" },
                     LINKS_Name = "Screen Color",
                     INPID_InputControl = "MultiButtonControl",
                     IC_ControlPage = 0,
                     MBTNC_StretchToFit = true,
                     LINKID_DataType = "Number",
                     INP_Default = 1,
                  },
                  preCC = {
                     IC_ControlGroup = 2,
                     IC_ControlPage = 0,
                     LBLC_DropDownButton = true,
                     LINKID_DataType = "Number",
                     LBLC_NumInputs = 6,
                     LBLC_NestLevel = 1,
                     INPID_InputControl = "LabelControl",
                     INP_Default = 0,
                  },
                  darksR = {
                     INPID_InputControl = "SliderControl",
                     INP_MinScale = -0.5,
                     INPS_Name = "darks R",
                     LINKID_DataType = "Number",
                     IC_ControlID = 1,
                     IC_ControlPage = 0,
                     INP_MaxScale = 0.5,
                     INP_Default = 0,
                  },
                  darksG = {
                     LINKID_DataType = "Number",
                     INP_MinScale = -0.5,
                     INP_MaxScale = 0.5,
                     INPID_InputControl = "SliderControl",
                     IC_ControlID = 2,
                     IC_ControlPage = 0,
                     INPS_Name = "darks G",
                     INP_Default = 0,
                  },
                  darksB = {
                     INP_MinScale = -0.5,
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlID = 3,
                     IC_ControlPage = 0,
                     INP_MaxScale = 0.5,
                     INP_Default = 0,
                  },
                  lightsR = {
                     INP_MinScale = 0.5,
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlID = 4,
                     IC_ControlPage = 0,
                     INP_MaxScale = 1.5,
                     INP_Default = 1,
                  },
                  lightsG = {
                     INP_MinScale = 0.5,
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlID = 5,
                     IC_ControlPage = 0,
                     INP_MaxScale = 1.5,
                     INP_Default = 1,
                  },
                  lightsB = {
                     INP_MinScale = 0.5,
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlID = 6,
                     IC_ControlPage = 0,
                     INP_MaxScale = 1.5,
                     INP_Default = 1,
                  },
                  Treshold = {
                     INPID_InputControl = "SliderControl",
                     LINKS_Name = "Key Treshold",
                     IC_ControlPage = 0,
                     LINKID_DataType = "Number",
                     INP_Default = 0.08,
                  },
                  Grow = {
                     LINKS_Name = "Key Grow",
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlPage = 0,
                     INP_MaxScale = 0.2,
                     INP_Default = 0,
                  },
                  Expand = {
                     LINKS_Name = "Color Expand Filter",
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlPage = 0,
                     INP_MaxScale = 20,
                     INP_Default = 2,
                  },
                  Shrink = {
                     LINKS_Name = "Remove Fringe",
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlPage = 0,
                     INP_MaxScale = 0.1,
                     INP_Default = 0.002,
                  },
                  Fill = {
                     LINKS_Name = "Fill Black",
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlPage = 0,
                     INP_MaxScale = 500,
                     INP_Default = 200,
                  },
                  UseInputAlpha = {
                     INP_Integer = true,
                     INPID_InputControl = "CheckboxControl",
                     LINKS_Name = "Use Input Alpha",
                     IC_ControlPage = 0,
                     LINKID_DataType = "Number",
                     INP_Default = 0,
                  }
               }
            },
            scTreshold = BrightnessContrast {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Red = Input { Value = 0, },
                  Green = Input { Value = 0, },
                  Blue = Input { Value = 0, },
                  Alpha = Input { Value = 1, },
                  Low = Input {
                     Value = 0.0619047619047619,
                     Expression = "CleanPlater.Treshold",
                  },
                  High = Input {
                     Value = 0.0629047619047619,
                     Expression = "CleanPlater.Treshold+0.001",
                  },
                  ClipBlack = Input { Value = 1, },
                  ClipWhite = Input { Value = 1, },
                  Input = Input {
                     SourceOp = "Dissolve1_2_1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -302.5, 175.15 } },
            },
            SwitchMatte = MatteControl {
               CtrlWZoom = false,
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 4, },
                  MultiplyGarbageMatte = Input { Value = 0, },
                  Background = Input {
                     SourceOp = "CleanPlater",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "scTreshold",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -192.5, 208.15 } },
            },
            SwitchUseAlpha = Dissolve {
               Transitions = {
                  [0] = "DFTDissolve"
               },
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Mix = Input {
                     Value = 0,
                     Expression = "CleanPlater.UseInputAlpha",
                  },
                  Background = Input {
                     SourceOp = "SwitchMatte",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "MatteControl3",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -82.5, 208.15 } },
            },
            MatteControl3 = MatteControl {
               CtrlWShown = false,
               Inputs = {
                  InvertMatte = Input { Value = 1, },
                  Background = Input {
                     SourceOp = "CleanPlater",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -192.5, 274.15 } },
            },
            ErodeDilate1 = ErodeDilate {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Red = Input { Value = 0, },
                  Green = Input { Value = 0, },
                  Blue = Input { Value = 0, },
                  XAmount = Input {
                     Value = -0.0238095238095238,
                     Expression = "-CleanPlater.Grow",
                  },
                  Input = Input {
                     SourceOp = "SwitchUseAlpha",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 27.5, 208.15 } },
               Colors = {
                  TileColor = { R = 0.545098039215686, G = 0.537254901960784, B = 0.0470588235294118 },
                  TextColor = { R = 0, G = 0, B = 0 },
               }
            },
            Mmult = MatteControl {
               CtrlWZoom = false,
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  PostMultiplyImage = Input { Value = 1, },
                  Background = Input {
                     SourceOp = "ErodeDilate1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 137.5, 208.15 } },
            },
            scExpand = Blur {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  XBlurSize = Input {
                     Value = 20,
                     Expression = "CleanPlater.Expand",
                  },
                  Passes = Input { Value = 1, },
                  Input = Input {
                     SourceOp = "Mmult",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 247.5, 208.15 } },
            },
            DIVIDE = ChannelBoolean {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Operation = Input { Value = 7, },
                  ToRed = Input { Value = 8, },
                  ToGreen = Input { Value = 8, },
                  ToBlue = Input { Value = 8, },
                  ToAlpha = Input { Value = 8, },
                  Background = Input {
                     SourceOp = "scExpand",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 357.5, 208.15 } },
            },
            ErodeDilate2 = ErodeDilate {
               CtrlWShown = false,
               Inputs = {
                  Red = Input { Value = 0, },
                  Green = Input { Value = 0, },
                  Blue = Input { Value = 0, },
                  XAmount = Input { Expression = "-CleanPlater.Shrink", },
                  Input = Input {
                     SourceOp = "DIVIDE",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 467.5, 208.15 } },
               Colors = {
                  TileColor = { R = 0.545098039215686, G = 0.537254901960784, B = 0.0470588235294118 },
                  TextColor = { R = 0, G = 0, B = 0 },
               }
            },
            BWalpha = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  LowMatteThreshold = Input { Value = 0.3377483, },
                  High = Input { Value = 0.3377483, },
                  Background = Input {
                     SourceOp = "ErodeDilate2",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 577.5, 208.15 } },
            },
            MMult2 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  PostMultiplyImage = Input { Value = 1, },
                  Background = Input {
                     SourceOp = "BWalpha",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 687.5, 208.15 } },
            },
            MatteControl12 = MatteControl {
               CtrlWShown = false,
               Inputs = {
                  Background = Input {
                     SourceOp = "MMult2",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 797.5, 208.15 } },
            },
            BlurFill = Blur {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  XBlurSize = Input {
                     Value = 359.52380952381,
                     Expression = "CleanPlater.Fill",
                  },
                  Input = Input {
                     SourceOp = "MatteControl12",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 907.5, 208.15 } },
            },
            Out = Dissolve {
               Transitions = {
                  [0] = "DFTDissolve"
               },
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Background = Input {
                     SourceOp = "DIVIDE_1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "CleanPlater",
                     Source = "Output",
                  },
                  EffectMask = Input {
                     SourceOp = "Mmult",
                     Source = "Output",
                  }
               },
               ViewInfo = OperatorInfo { Pos = { 1017.5, 307.15 } },
            },
            DIVIDE_1 = ChannelBoolean {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Operation = Input { Value = 7, },
                  ToRed = Input { Value = 3, },
                  ToGreen = Input { Value = 3, },
                  ToBlue = Input { Value = 3, },
                  Background = Input {
                     SourceOp = "BlurFill",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "BlurFill",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 1017.5, 208.15 } },
            }
         },
      }
   },
   ActiveTool = "CleanPlater1"
}

And now the lightwrap

Code: Select all
{
   Tools = ordered() {
      CleanPlater1 = MacroOperator {
         CtrlWZoom = false,
         Inputs = ordered() {
            MainInput1 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "Input",
            },
            Input1 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "ScreenColor",
               Default = 1,
            },
            Input14 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "preCC",
               Default = 0,
            },
            Input2 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "darksR",
               Default = 0,
            },
            Input3 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "darksG",
               Default = 0,
            },
            Input4 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "darksB",
               Default = 0,
            },
            Input5 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "lightsR",
               Default = 1,
            },
            Input6 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "lightsG",
               Default = 1,
            },
            Input7 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "lightsB",
               Default = 1,
            },
            Input8 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "Treshold",
               Default = 0,
            },
            Input9 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "Grow",
               Default = 0,
            },
            Input10 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "Expand",
               Default = 0,
            },
            Input11 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "Shrink",
               Default = 0,
            },
            Input12 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "Fill",
               Default = 0,
            },
            Input13 = InstanceInput {
               SourceOp = "CleanPlater",
               Source = "UseInputAlpha",
               Default = 0,
            }
         },
         Outputs = {
            MainOutput1 = InstanceOutput {
               SourceOp = "Out",
               Source = "Output",
            }
         },
         ViewInfo = GroupInfo { Pos = { 356, 123 } },
         Tools = ordered() {
            PreCC = ColorCorrector {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Channel = Input { Value = 3, },
                  MasterRedGain = Input { Expression = "CleanPlater.lightsR", },
                  MasterRedBrightness = Input { Expression = "CleanPlater.darksR", },
                  MasterGreenGain = Input { Expression = "CleanPlater.lightsG", },
                  MasterGreenBrightness = Input { Expression = "CleanPlater.darksG", },
                  MasterBlueGain = Input { Expression = "CleanPlater.lightsB", },
                  MasterBlueBrightness = Input { Expression = "CleanPlater.darksB", },
                  ColorRanges = Input {
                     Value = ColorCurves {
                        Curves = {
                           {
                              Points = {
                                 { 0, 1 },
                                 { 0.4, 0.2 },
                                 { 0.6, 0 },
                                 { 1, 0 }
                              }
                           },
                           {
                              Points = {
                                 { 0, 0 },
                                 { 0.4, 0 },
                                 { 0.6, 0.2 },
                                 { 1, 1 }
                              }
                           }
                        }
                     },
                  },
                  Input = Input {
                     SourceOp = "CleanPlater",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -907.5, 43.15 } },
            },
            REDin1 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 1, },
                  Background = Input {
                     SourceOp = "PreCC",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "PreCC",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -742.5, 43.15 } },
            },
            GREENin1 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 2, },
                  Background = Input {
                     SourceOp = "PreCC",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "PreCC",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -742.5, 109.15 } },
            },
            Maximum2 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 4, },
                  CombineOp = Input { Value = 4, },
                  Background = Input {
                     SourceOp = "REDin1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "BLUEin1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -632.5, 76.15 } },
            },
            Substract2 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 4, },
                  CombineOp = Input { Value = 2, },
                  Background = Input {
                     SourceOp = "GREENin1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "Maximum2",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -522.5, 109.15 } },
            },
            Substract1 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 4, },
                  CombineOp = Input { Value = 2, },
                  Background = Input {
                     SourceOp = "REDin1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "Maximum3",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -522.5, 43.15 } },
            },
            Maximum3 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 4, },
                  CombineOp = Input { Value = 4, },
                  Background = Input {
                     SourceOp = "GREENin1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "BLUEin1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -632.5, 142.15 } },
            },
            Maximum1 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 4, },
                  CombineOp = Input { Value = 4, },
                  Background = Input {
                     SourceOp = "REDin1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "GREENin1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -632.5, 10.15 } },
            },
            Substract3 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 4, },
                  CombineOp = Input { Value = 2, },
                  Background = Input {
                     SourceOp = "BLUEin1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "Maximum1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -522.5, 175.15 } },
            },
            BLUEin1 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 3, },
                  Background = Input {
                     SourceOp = "PreCC",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "PreCC",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -742.5, 175.15 } },
            },
            SWgb = Dissolve {
               Transitions = {
                  [0] = "DFTDissolve"
               },
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Mix = Input { Expression = "CleanPlater.ScreenColor", },
                  Background = Input {
                     SourceOp = "Substract1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "Substract2",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -412.5, 43.15 } },
            },
            Dissolve1_2_1 = Dissolve {
               Transitions = {
                  [0] = "DFTDissolve"
               },
               CtrlWShown = false,
               Inputs = {
                  Mix = Input {
                     Value = 0,
                     Expression = "1-SWgb.Mix",
                  },
                  Background = Input {
                     SourceOp = "SWgb",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "Substract3",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -412.5, 175.15 } },
            },
            CleanPlater = BrightnessContrast {
               PassThrough = true,
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Smooth = Input { Value = 3, },
                  Red = Input { Value = 0, },
                  Green = Input { Value = 0, },
                  Blue = Input { Value = 0, },
                  Gain = Input { Value = 1, },
                  Gamma = Input { Value = 1, },
                  High = Input { Value = 1, },
                  Saturation = Input { Value = 1, },
                  Treshold = Input { Value = 0.0619047619047619, },
                  Grow = Input { Value = 0.0238095238095238, },
                  Expand = Input { Value = 20, },
                  Shrink = Input { Value = 0, },
                  Fill = Input { Value = 359.52380952381, },
               },
               ViewInfo = OperatorInfo { Pos = { -1017.5, 208.15 } },
               UserControls = ordered() {
                  Gain = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  Gamma = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  Contrast = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  Brightness = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  PreDividePostMultiply = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  ClipWhite = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  ClipBlack = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  High = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  Low = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  Saturation = { INPID_PreviewControl = "", IC_ControlPage = 0, INPID_InputControl = "", },
                  ScreenColor = {
                     { MBTNC_AddButton = "Blue" },
                     { MBTNC_AddButton = "Green" },
                     LINKS_Name = "Screen Color",
                     INPID_InputControl = "MultiButtonControl",
                     IC_ControlPage = 0,
                     MBTNC_StretchToFit = true,
                     LINKID_DataType = "Number",
                     INP_Default = 1,
                  },
                  preCC = {
                     IC_ControlGroup = 2,
                     IC_ControlPage = 0,
                     LBLC_DropDownButton = true,
                     LINKID_DataType = "Number",
                     LBLC_NumInputs = 6,
                     LBLC_NestLevel = 1,
                     INPID_InputControl = "LabelControl",
                     INP_Default = 0,
                  },
                  darksR = {
                     INPID_InputControl = "SliderControl",
                     INP_MinScale = -0.5,
                     INPS_Name = "darks R",
                     LINKID_DataType = "Number",
                     IC_ControlID = 1,
                     IC_ControlPage = 0,
                     INP_MaxScale = 0.5,
                     INP_Default = 0,
                  },
                  darksG = {
                     LINKID_DataType = "Number",
                     INP_MinScale = -0.5,
                     INP_MaxScale = 0.5,
                     INPID_InputControl = "SliderControl",
                     IC_ControlID = 2,
                     IC_ControlPage = 0,
                     INPS_Name = "darks G",
                     INP_Default = 0,
                  },
                  darksB = {
                     INP_MinScale = -0.5,
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlID = 3,
                     IC_ControlPage = 0,
                     INP_MaxScale = 0.5,
                     INP_Default = 0,
                  },
                  lightsR = {
                     INP_MinScale = 0.5,
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlID = 4,
                     IC_ControlPage = 0,
                     INP_MaxScale = 1.5,
                     INP_Default = 1,
                  },
                  lightsG = {
                     INP_MinScale = 0.5,
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlID = 5,
                     IC_ControlPage = 0,
                     INP_MaxScale = 1.5,
                     INP_Default = 1,
                  },
                  lightsB = {
                     INP_MinScale = 0.5,
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlID = 6,
                     IC_ControlPage = 0,
                     INP_MaxScale = 1.5,
                     INP_Default = 1,
                  },
                  Treshold = {
                     INPID_InputControl = "SliderControl",
                     LINKS_Name = "Key Treshold",
                     IC_ControlPage = 0,
                     LINKID_DataType = "Number",
                     INP_Default = 0.08,
                  },
                  Grow = {
                     LINKS_Name = "Key Grow",
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlPage = 0,
                     INP_MaxScale = 0.2,
                     INP_Default = 0,
                  },
                  Expand = {
                     LINKS_Name = "Color Expand Filter",
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlPage = 0,
                     INP_MaxScale = 20,
                     INP_Default = 2,
                  },
                  Shrink = {
                     LINKS_Name = "Remove Fringe",
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlPage = 0,
                     INP_MaxScale = 0.1,
                     INP_Default = 0.002,
                  },
                  Fill = {
                     LINKS_Name = "Fill Black",
                     INPID_InputControl = "SliderControl",
                     LINKID_DataType = "Number",
                     IC_ControlPage = 0,
                     INP_MaxScale = 500,
                     INP_Default = 200,
                  },
                  UseInputAlpha = {
                     INP_Integer = true,
                     INPID_InputControl = "CheckboxControl",
                     LINKS_Name = "Use Input Alpha",
                     IC_ControlPage = 0,
                     LINKID_DataType = "Number",
                     INP_Default = 0,
                  }
               }
            },
            scTreshold = BrightnessContrast {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Red = Input { Value = 0, },
                  Green = Input { Value = 0, },
                  Blue = Input { Value = 0, },
                  Alpha = Input { Value = 1, },
                  Low = Input {
                     Value = 0.0619047619047619,
                     Expression = "CleanPlater.Treshold",
                  },
                  High = Input {
                     Value = 0.0629047619047619,
                     Expression = "CleanPlater.Treshold+0.001",
                  },
                  ClipBlack = Input { Value = 1, },
                  ClipWhite = Input { Value = 1, },
                  Input = Input {
                     SourceOp = "Dissolve1_2_1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -302.5, 175.15 } },
            },
            SwitchMatte = MatteControl {
               CtrlWZoom = false,
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  MatteCombine = Input { Value = 4, },
                  MultiplyGarbageMatte = Input { Value = 0, },
                  Background = Input {
                     SourceOp = "CleanPlater",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "scTreshold",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -192.5, 208.15 } },
            },
            SwitchUseAlpha = Dissolve {
               Transitions = {
                  [0] = "DFTDissolve"
               },
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Mix = Input {
                     Value = 0,
                     Expression = "CleanPlater.UseInputAlpha",
                  },
                  Background = Input {
                     SourceOp = "SwitchMatte",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "MatteControl3",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -82.5, 208.15 } },
            },
            MatteControl3 = MatteControl {
               CtrlWShown = false,
               Inputs = {
                  InvertMatte = Input { Value = 1, },
                  Background = Input {
                     SourceOp = "CleanPlater",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { -192.5, 274.15 } },
            },
            ErodeDilate1 = ErodeDilate {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Red = Input { Value = 0, },
                  Green = Input { Value = 0, },
                  Blue = Input { Value = 0, },
                  XAmount = Input {
                     Value = -0.0238095238095238,
                     Expression = "-CleanPlater.Grow",
                  },
                  Input = Input {
                     SourceOp = "SwitchUseAlpha",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 27.5, 208.15 } },
               Colors = {
                  TileColor = { R = 0.545098039215686, G = 0.537254901960784, B = 0.0470588235294118 },
                  TextColor = { R = 0, G = 0, B = 0 },
               }
            },
            Mmult = MatteControl {
               CtrlWZoom = false,
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  PostMultiplyImage = Input { Value = 1, },
                  Background = Input {
                     SourceOp = "ErodeDilate1",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 137.5, 208.15 } },
            },
            scExpand = Blur {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  XBlurSize = Input {
                     Value = 20,
                     Expression = "CleanPlater.Expand",
                  },
                  Passes = Input { Value = 1, },
                  Input = Input {
                     SourceOp = "Mmult",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 247.5, 208.15 } },
            },
            DIVIDE = ChannelBoolean {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Operation = Input { Value = 7, },
                  ToRed = Input { Value = 8, },
                  ToGreen = Input { Value = 8, },
                  ToBlue = Input { Value = 8, },
                  ToAlpha = Input { Value = 8, },
                  Background = Input {
                     SourceOp = "scExpand",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 357.5, 208.15 } },
            },
            ErodeDilate2 = ErodeDilate {
               CtrlWShown = false,
               Inputs = {
                  Red = Input { Value = 0, },
                  Green = Input { Value = 0, },
                  Blue = Input { Value = 0, },
                  XAmount = Input { Expression = "-CleanPlater.Shrink", },
                  Input = Input {
                     SourceOp = "DIVIDE",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 467.5, 208.15 } },
               Colors = {
                  TileColor = { R = 0.545098039215686, G = 0.537254901960784, B = 0.0470588235294118 },
                  TextColor = { R = 0, G = 0, B = 0 },
               }
            },
            BWalpha = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  LowMatteThreshold = Input { Value = 0.3377483, },
                  High = Input { Value = 0.3377483, },
                  Background = Input {
                     SourceOp = "ErodeDilate2",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 577.5, 208.15 } },
            },
            MMult2 = MatteControl {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  PostMultiplyImage = Input { Value = 1, },
                  Background = Input {
                     SourceOp = "BWalpha",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 687.5, 208.15 } },
            },
            MatteControl12 = MatteControl {
               CtrlWShown = false,
               Inputs = {
                  Background = Input {
                     SourceOp = "MMult2",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 797.5, 208.15 } },
            },
            BlurFill = Blur {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  XBlurSize = Input {
                     Value = 359.52380952381,
                     Expression = "CleanPlater.Fill",
                  },
                  Input = Input {
                     SourceOp = "MatteControl12",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 907.5, 208.15 } },
            },
            Out = Dissolve {
               Transitions = {
                  [0] = "DFTDissolve"
               },
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Background = Input {
                     SourceOp = "DIVIDE_1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "CleanPlater",
                     Source = "Output",
                  },
                  EffectMask = Input {
                     SourceOp = "Mmult",
                     Source = "Output",
                  }
               },
               ViewInfo = OperatorInfo { Pos = { 1017.5, 307.15 } },
            },
            DIVIDE_1 = ChannelBoolean {
               CtrlWShown = false,
               NameSet = true,
               Inputs = {
                  Operation = Input { Value = 7, },
                  ToRed = Input { Value = 3, },
                  ToGreen = Input { Value = 3, },
                  ToBlue = Input { Value = 3, },
                  Background = Input {
                     SourceOp = "BlurFill",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "BlurFill",
                     Source = "Output",
                  },
               },
               ViewInfo = OperatorInfo { Pos = { 1017.5, 208.15 } },
            }
         },
      }
   },
   ActiveTool = "CleanPlater1"
}
Offline

Edwin Rivera

  • Posts: 160
  • Joined: Wed Aug 03, 2016 4:53 pm

Re: Sugestions on how to remove green screen from hair

PostFri Dec 30, 2016 12:20 am

OG.PNG
OG.PNG (644.82 KiB) Viewed 5869 times


flow.PNG
i just repeated the same thing for both only inverted the ,masking
flow.PNG (25.24 KiB) Viewed 5869 times



merge.PNG
result
merge.PNG (562.58 KiB) Viewed 5869 times
Offline

Edwin Rivera

  • Posts: 160
  • Joined: Wed Aug 03, 2016 4:53 pm

Re: Sugestions on how to remove green screen from hair

PostFri Dec 30, 2016 1:48 am

So what i basically did was a copy of the ultrakey and the matte control and just inverted the masking roto to select each one separately and it got me somewhere near a good key.

the issue is that the guys hair (at the bottom) disappeared most of its edges on the left side

was my method something good or was it unnecessary? what could i do better?

let me know please and thanks a lot for your feedback
Offline

Ryan Bloomer

  • Posts: 903
  • Joined: Tue Jul 09, 2013 6:58 pm

Re: Sugestions on how to remove green screen from hair

PostFri Dec 30, 2016 3:54 pm

The tools Rony shared seam to do a great job averaging out the green in a shot, however, I'm not sure how to implement into a keying workflow. Any tips or suggestions?

Edwin, I think averaging the green levels in the bottom left corner will help pull a better key for you. As Kel mentioned, try separating the beauty from the matte, color correct the bottom left of the hair to help create a cleaner matte, then use the corrected source as a luma matte for the beauty.
Offline
User avatar

Glenn Sakatch

  • Posts: 750
  • Joined: Sat Apr 13, 2013 5:36 pm

Re: Sugestions on how to remove green screen from hair

PostSun Jan 01, 2017 8:02 pm

you are probably going to have to break this down into several little keyers.

Hair can be very tough, and you may not get it all to key properly, but by masking out different parts of the head, and using different key settings on different sections, and combining them together, you might be able to start bringing the hair back in. You are most likely going to lose the fine-ist fringes of hair.

Do a search for Simon Ubsdell keying techniques. He has a couple of really good techniques that he shares. One he builds his own keyer from scratch. It is a bit complicated, but I've used it to bring some tough hair keys back from the dead.

Return to Fusion

Who is online

Users browsing this forum: No registered users and 26 guests