View Single Post
Old 4th April 2014, 21:39   #19  |  Link
Bernardd
Registered User
 
Join Date: Jan 2012
Location: Toulon France
Posts: 249
Hello RaffRiff42,
I apologize, i have too fast cut trial masks input, thus the script has not been good. You have well find the mistakes.
The good version is below :
Code:
function Other_colors(clip clip, int "limit_lo", int "limit_hi",                                       
                                        \  float "color_red_invert", float "color_green_invert", float "color_blue_invert",
                                        \  float "color_lo_red", float "color_mid_red", float "color_hi_red",
                                        \  float "color_lo_green",float "color_mid_green",float "color_hi_green",
                                        \  float "color_lo_blue",float "color_mid_blue",float "color_hi_blue",
                                        \ float "color_lo_black", float "color_mid_black", float "color_hi_black",
                                        \ float "color_lo_white", float "color_mid_white", float "color_hi_white",
                                        \  float "contrast_lo",float "contrast_mid",float "contrast_hi",
                                        \  bool "show_mask_color")
                                        
{

Assert(clip.IsYUV, "CheapColorTemp: source must be YUV")

show_mask_color = Default(show_mask_color, false)  




#---------------------------------------------  Masks making ----------------------------------------    
 

limit_lo = Default(limit_lo, 62) # seuil bas between in 0 et 190, valeur par default 62
limit_hi = Default(limit_hi, 191) # seuil bas between in 191 et 255, valeur par default 191

xlo_color = limit_lo * 3.0 / 256
xhi_color = limit_hi * 3.0 / 256

mask_lo_color =  mt_lut(clip,
    \   yexpr="x -0.01 * "+String(xlo_color)+" + 256 * ",
    \   u=-128, v=-128) 
   
mask_hi_color =  mt_lut(clip,
    \   yexpr="1 x -0.01 * "+String(xhi_color)+" + - 256 * ",
    \   u=-128, v=-128) 
    
mask_mid_color =  mt_lutxy(mask_lo_color, mask_hi_color, "x  y + -1 * 256 + ", u=-128, v=-128)

control_mask = StackHorizontal(mask_lo_color.Subtitle("mask lo"),mask_mid_color.Subtitle("mask mid"),mask_hi_color.Subtitle("mask hi"))

#-------------------------------------------- Add colors tuning


color_red_invert = Default(color_red_invert, 0.0) # percentage between red color and her invert color
color_lo_red = Default(color_lo_red, 0.0) # red add percentage in shadows toness, between in 0.0, 1.0, default 0.0
color_mid_red = Default(color_mid_red, 0.0) # red add percentage in midtones, between in 0.0, 1.0, default 0.0
color_hi_red = Default(color_hi_red, 0.0) # red add percentage in highlights tones, between in 0.0, 1.0, default 0.0

color_green_invert = Default(color_green_invert, 0.0) # percentage between green color and her invert color
color_lo_green = Default(color_lo_green, 0.0) # green add percentage in shadows toness, between in 0.0, 1.0, default 0.0
color_mid_green = Default(color_mid_green, 0.0) # green add percentage in midtones, between in 0.0, 1.0, default 0.0
color_hi_green = Default(color_hi_green, 0.0) # green add percentage in highlights tones, between in 0.0, 1.0, default 0.0

color_blue_invert = Default(color_blue_invert,  0.0) # percentage between blue color and her invert color
color_lo_blue = Default(color_lo_blue, 0.0) # blue add percentage in shadows toness, between in 0.0, 1.0, default 0.0
color_mid_blue = Default(color_mid_blue, 0.0) # blue add percentage in midtones, between in 0.0, 1.0, default 0.0
color_hi_blue = Default(color_hi_blue, 0.0) # blue add percentage in highlights tones, between in 0.0, 1.0, default 0.0

color_red = Overlay(BlankClip(clip , color=$FF0000), BlankClip(clip , color=$FF0000).invert, opacity = color_red_invert, mode = "Chroma")
color_green = Overlay(BlankClip(clip , color=$00FF00), BlankClip(clip , color=$00FF00).invert, opacity = color_green_invert, mode = "Chroma")
color_blue  = Overlay(BlankClip(clip , color=$0000FF), BlankClip(clip , color=$0000FF).invert, opacity = color_blue_invert, mode = "Chroma")

#-------------------------------------------- Luma tunning

color_lo_black = Default(color_lo_black, 0.0) #black add percentage in shadows toness, between in 0.0, 1.0, default 0.0
color_mid_black = Default(color_mid_black, 0.0) # black add percentage in midtones, between in 0.0, 1.0, default 0.0
color_hi_black = Default(color_hi_black, 0.0) # black add percentage in highlights tones, between in 0.0, 1.0, default 0.0

color_lo_white = Default(color_lo_white, 0.0) # white add percentage in shadows toness, between in 0.0, 1.0, default 0.0
color_mid_white = Default(color_mid_white, 0.0) # white add percentage in midtones, between in 0.0, 1.0, default 0.0
color_hi_white = Default(color_hi_white, 0.0) # white add percentage in highlights tones, between in 0.0, 1.0, default 0.0

color_black = BlankClip(clip , color=$000000)
color_white = BlankClip(clip , color=$FFFFFF)

color_sup = clip.Overlay(color_green, mask = mask_lo_color, opacity=color_lo_green, mode="chroma",greymask=true).Overlay(color_green, mask = mask_mid_color, opacity=color_mid_green, mode="chroma",greymask=true)
\.Overlay(color_green, mask = mask_hi_color, opacity=color_hi_green, mode="chroma",greymask=true).
\Overlay(color_red, mask = mask_lo_color, opacity=color_lo_red, mode="chroma",greymask=true).Overlay(color_red, mask = mask_mid_color, opacity=color_mid_red, mode="chroma",greymask=true)
\.Overlay(color_red, mask = mask_hi_color, opacity=color_hi_red, mode="chroma",greymask=true).
\Overlay(color_blue, mask = mask_lo_color, opacity=color_lo_blue, mode="chroma",greymask=true).Overlay(color_blue, mask = mask_mid_color, opacity=color_mid_blue, mode="chroma",greymask=true)
\.Overlay(color_blue, mask = mask_hi_color, opacity=color_hi_blue, mode="chroma",greymask=true).
\Overlay(color_black, mask = mask_lo_color, opacity=color_lo_black, mode="luma",greymask=true).Overlay(color_black, mask = mask_mid_color, opacity=color_mid_black, mode="luma",greymask=true)
\.Overlay(color_black, mask = mask_hi_color, opacity=color_hi_black, mode="luma",greymask=true).
\Overlay(color_white, mask = mask_lo_color, opacity=color_lo_white, mode="luma",greymask=true).Overlay(color_white, mask = mask_mid_color, opacity=color_mid_white, mode="luma",greymask=true)
\.Overlay(color_white, mask = mask_hi_color, opacity=color_hi_white, mode="luma",greymask=true)

# ------------------------------------------ contrast

contrast_lo = Default(contrast_lo, 0.0) # contrast percentage in shadows toness, between in 0.0, 1.0, default 0.0
contrast_mid = Default(contrast_mid, 0.0) # contrast percentage in midtones, between in 0.0, 1.0, default 0.0
contrast_hi = Default(contrast_hi, 0.0) # contrast percentage in highlights tones, between in 0.0, 1.0, default 0.0
color_contr = color_sup.Overlay(color_sup, mask = mask_lo_color, opacity=contrast_lo, mode="add").Overlay(color_sup, mask = mask_mid_color, opacity=contrast_mid, mode="add")
\.Overlay(color_sup, mask = mask_hi_color, opacity=contrast_hi, mode="add")

#------------------------------------------- Results

(show_mask_color == true) ? control_mask : color_contr
return last
}

__END__
# paths to be customised
Source # Your source
LoadPlugin("C:\...........\mt_masktools-25.dll")
Import("C:\..........\Add colors function.avs ") # If you have saved this function script with this file name
[color addition=1]
[< separator="Add color tuning">]
show = [<"Show tones masks (no = 0 et yes = 1)", 0, 1, 0>] 
show_mask_color  = (show == 1) ? true : false

[< separator="Mask tuning">]
limit_lo=[<"limit_lo", 0, 190, 62>]
limit_hi=[<"limit_hi", 191, 255, 191>]

[< separator="Add colors percentage tuning ">]
[< separator="       red addition">]
color_red_invert = [<"percentage between red color and her invert color", 0.0, 1.0, 0.0>]
color_lo_red = [<"red add percentage in shadows tones", 0.0, 1.0, 0.0>]
color_mid_red = [<"red add percentage in midtones", 0.0, 1.0, 0.0>]
color_hi_red = [<"red add percentage in highlights tones", 0.0, 1.0, 0.0>]
[< separator="       green addition">]
color_green_invert = [<"percentage between green color and her invert color", 0.0, 1.0, 0.0>]
color_lo_green = [<"green add percentage in shadows tones", 0.0, 1.0, 0.0>]
color_mid_green = [<"green add percentage in midtones", 0.0, 1.0, 0.0>]
color_hi_green = [<"green add percentage in highlights tones", 0.0, 1.0, 0.0>]
[< separator="       blue addition">]
color_blue_invert = [<"percentage between blue color and her invert color", 0.0, 1.0, 0.0>]
color_lo_blue = [<"blue add percentage in shadows tones", 0.0, 1.0, 0.0>]
color_mid_blue = [<"blue add percentage in midtones", 0.0, 1.0, 0.0>]
color_hi_blue = [<"blue add percentage in highlights tones", 0.0, 1.0, 0.0>]

[< separator="Luma tuning">]
[< separator="More dark">]
color_lo_black = [<"black add percentage in shadows tones", 0.0, 1.0, 0.0>]
color_mid_black = [<"black add percentage in midtones", 0.0, 1.0, 0.0>]
color_hi_black = [<"black add percentage in highlights tones", 0.0, 1.0, 0.0>]
[< separator="More light">]
color_lo_white = [<"white add percentage in shadows tones", 0.0, 1.0, 0.0>]
color_mid_white = [<"white add percentage in midtones", 0.0, 1.0, 0.0>]
color_hi_white = [<"white add percentage in highlights tones", 0.0, 1.0, 0.0>]

[< separator="Contrast tuning">]
contrast_lo = [<"contrast add percentage in shadows tones", 0.0, 1.0, 0.0>]
contrast_mid = [<"contrast add percentage in midtones", 0.0, 1.0, 0.0>]
contrast_hi = [<"contrast add percentage in highlights tones", 0.0, 1.0, 0.0>]

Assert(isclip, "No defined source") # Line to be deleted if you have gived a variable name for the clip

Other_colors(limit_lo = limit_lo, limit_hi = limit_hi,
\color_red_invert = color_red_invert, color_green_invert = color_green_invert, color_blue_invert = color_blue_invert,
\color_lo_red = color_lo_red, color_mid_red = color_mid_red, color_hi_red = color_hi_red,
\color_lo_green = color_lo_green, color_mid_green = color_mid_green, color_hi_green = color_hi_green,
\color_lo_blue = color_lo_blue, color_mid_blue = color_mid_blue, color_hi_blue = color_hi_blue,
\color_lo_black = color_lo_black, color_mid_black = color_mid_black, color_hi_black = color_hi_black,
\color_lo_white = color_lo_white, color_mid_white = color_mid_white, color_hi_white = color_hi_white,
\contrast_lo = contrast_lo, contrast_mid =contrast_mid, contrast_hi = contrast_hi,
\show_mask_color = show_mask_color)

[/color addition]
The script aim is to overlay red, green, blue or their invert color screens to video and to search good result by tuning the overlay opacity. Whitout AvsPmod UserSliders this script is not fun to use.

Thanks for the curves, i study them.
Bernardd is offline   Reply With Quote