MaskTools v2

Přehled

Autoři : Kurosu, Manao, mg262
Verze : 2.0 alfa 36
Stáhnout : http://manao4.free.fr/, http://www.avisynth.org/warpenterprises/
Kategorie : Různé pluginy
Požadavky : YV12 barevné prostředí

Obsah

I) Úvod

Soubor mt_masktools.dll obsahuje sadu filtrů navržených pro vytvoření masek, manipulaci a použití masek. Masky jsou ve zpracování videa cestou jak dát relativní význam každému pixelu. Můžete například vytvořit masku, která vybírá jen zelené části videa, a pak nahradí tyto části jiným videem.

Aby byla co největší kontrola nad zacházením s maskami, budou filtry využívat fakt, že každá jasová (luma) a barevnostní (chroma) plocha může být bez vzájemného vztahu (uncorrelated). To znamená, že jedno video bude vždy považováno filtry za 3 nezávislé plochy. To platí také pro masky, což znamená že maskovaný klip bude ve skutečnosti obsahovat 3 masky, jednu pro každou plochu.

Filtry mají sadu běžných parametrů, které se týkají hlavně toho jaké zpracování dělat na každé ploše. Všechny pracují jen v YV12 ( přestože v Avisynthu 2.6 bude k dispozici podpora všech planárních formátů ).

II) Běžné parametry

Jak bylo řečeno dříve, všechny filtry - kromě pomocných (helpers) - sdílí sadu běžných parametrů. Tyto parametry jsou použity proto, aby se řeklo jaké zpracování provést na každé ploše / kanálu, a jakou oblast videa zpracovat.

III) Seznam filtrů

Zde je vyčerpávající seznam filtrů obsažených v této dll :

IV) Popis filtrů

mt_edge

mt_edge : string mode("sobel"), int thY1(10), int thY2(10), int thC1(10), int thC2(10)

mt_motion

mt_motion : int thY1(10), int thY2(10), int thC1(10), int thC2(10), int thT(10)

mt_expand, mt_inpand

mt_xxpand : int thY(255), int thC(255), string mode("square")

mt_inflate, mt_deflate

mt_xxflate : int thY(255), int thC(255)

mt_merge

mt_merge : clip clip1, clip clip2, clip mask, bool "luma"(false)

mt_lut

mt_lut : string expr("x"), string yexpr("x"), string uexpr("x"), string vexpr("x")

mt_lutxy

mt_lutxy : clip clip1, clip clip2, string expr("x"), string yexpr("x"), string uexpr("x"), string vexpr("x")

mt_lutxyz

mt_lutxyz : clip clip1, clip clip2, clip clip3, string expr("x"), string yexpr("x"), string uexpr("x"), string vexpr("x")

mt_lutf

mt_lutf : clip clip1, clip clip2, string mode("avg"), string expr("y"), string yexpr("y", string uexpr("y"), string vexpr("y")

mt_luts

mt_luts : clip clip1, clip clip2, string mode("avg"), string pixels(""), string expr("x"), string yexpr("x"), string uexpr("x"), string vexpr("x")

mt_lutsx

mt_lutsx : clip clip, clip clip1, clip clip2, string mode("avg"), string mode2("none"), string pixels(""), string expr("x"), string yexpr("x"), string uexpr("x"), string vexpr("x")

mt_lutspa

mt_lutspa : clip clip, bool("relative"), string expr("x"), string yexpr("x"), string uexpr("x"), string vexpr("x")

mt_average

mt_average : clip clip1, clip clip2

mt_makediff

mt_makediff : clip clip1, clip clip2

mt_adddiff

mt_adddiff : clip clip1, clip clip2

mt_clamp

mt_clamp : clip c, clip bright_limit, clip dark_limit, int overshoot(0), int undershoot(0)

mt_invert

mt_invert : clip c

mt_binarize

mt_binarize : clip c, int threshold(128), bool upper(false)

mt_logic

mt_logic : clip clip1, clip clip2, string mode("and")

mt_hysteresis

mt_hysteresis : clip small_mask, clip big_mask

mt_convolution

mt_convolution : clip c, string horizontal("1 1 1"), string vertical("1 1 1"), bool saturate(true), float total(1.0f)

mt_mappedblur

mt_mappedblur : clip c, clip map, string kernel("1 1 1 1 1 1 1 1 1"), string mode("replace")

mt_square, mt_circle, mt_diamond

mt_square : int radius(1), bool zero(true)
mt_circle : int radius(1), bool zero(true)
mt_diamond : int radius(1), bool zero(true)

mt_rectangle, mt_ellipse, mt_losange

mt_rectangle : int hor_radius(1), int ver_radius(1), bool zero(true)
mt_ellipse : int hor_radius(1), int ver_radius(1), bool zero(true)
mt_losange : int hor_radius(1), int ver_radius(1), bool zero(true)

mt_freerectangle, mt_freeellipse, mt_freelosange

mt_freerectangle : int top_x(-1), int top_y(-1), int bottom_x(1), int bottom_y(1), bool zero(true)
mt_freeellipse : int top_x(-1), int top_y(-1), int bottom_x(1), int bottom_y(1), bool zero(true)
mt_freelosange : int top_x(-1), int top_y(-1), int bottom_x(1), int bottom_y(1), bool zero(true)

mt_polish

mt_polish : string expr("x")

V) Obrácený polský zápis (Reverse polish notation).

Hodně filtrů přijímá uživatelské funkce definované výrazem zapsaným v obráceném polském zápisu. Nemusíte být zvyklí na tento zápis, takže zde je několik vodítek :