## MaskHS

`MaskHS` (clip, float "startHue", float "endHue", float "maxSat", float "minSat", bool "coring")

Přidáno ve v2.6. Tento filtr vrací masku (jako Y8) klipu použitím daného rozsahu odstínu (hue) a sytosti (saturation).

startHue (výchozí 0), endHue (výchozí 360): (oba od 0 do 360; dáno ve stupních). Odstín a sytost budou upraveny pro hodnoty v rozsahu [startHue, endHue] když startHue<endHue. Všimněte si, že odstín je periodický, takže odstín 360 stupňů odpovídá odstínu s nula stupni. Pokud je endHue<startHue , pak bude vybrán rozsah [endHue, 360] a [0, startHue] (tedy proti směru hodinových ručiček). Pokud potřebujete vybrat například rozsah [350, 370], musíte zadat startHue=370 a endHue=350. Tedy při použití výchozích hodnot budou zpracovány všechny pixely.

maxSat (výchozí 150), minSat (výchozí 0): (oba od 0 do 150 s minSat<maxSat; dáno v procentech). Odstín a sytost budou upraveny pro hodnoty v rozsahu [minSat, maxSat]. Prakticky bude sytost pixelu v rozsahu [0,100] (tedy 0-100%), protože to odpovídá platným RGB pixelům (100% odpovídá R=255, G=B=0, což má sytost 119). Přestřelení (až do 150%) je umožněno pro ne-platné RGB pixely (150% odpovídá U=V=255, který má sytost odmocnina z (127^2+127^2) = 180). Tedy při použití výchozích hodnot budou zpracovány všechny pixely.

coring = true/false (výchozí false). Když je nastaveno na true, jas - luma (Y) je oříznuto do [16,235]; když je nastaveno na false, jas je ponechán nedotčený.

Předpokládejme, že chceme vytvořit masku kůže dívky. Správný způsob jak to udělat je použít pohled do vectorscopu filtru Histogram:

    clip = ...
    Histogram(clip, mode="color2")

a odhadnout rozsah odstínu, který chcete vybrat. Jak je možné vidět, oranžový odstín je mezi (asi) 105 a 165 stupni.

snižujte rozsah odstínu až naleznete správný rozsah odstínu, který by měl být zpracován. Použijte hodnoty `MaskHS` a zmenšujte interval dokud není vybrán ten správný. Také pro to můžete použít filtr Tweak (se sat=0). Použitím příkladu ve Tweak je získána následující maska:

originál | MaskHS(startHue=105, endHue=138)

Pohledem na příklad modré obrazovky ve filtru Overlay lze použít následující

    testcard = ColorBars()

    # příklad titulkového souboru s modrým pozadím:
    subs = ImageSource("F:\TestClips\blue.jpg").ConvertToYV24

    # subs.Histogram(mode="color2").ConvertToRGB # modrá v [345,359]
    mask_hs = subs.MaskHS(startHue=340, endHue=359).Levels(0, 1, 255, 255, 0)

    Overlay(testcard, subs, mask=mask_hs, mode="blend", opacity=1)

Seznam změn:

v2.60 | Původní vydání

`$English Date: 2007/08/22 20:53:07 $`

`Český překlad:31.8.2009`