HorizontalReduceBy2
(clip)
VerticalReduceBy2
(clip)
ReduceBy2
(clip)
HorizontalReduceBy2
zmenšuje horizontální velikost každého snímku na polovinu,
a VerticalReduceBy2
zmenšuje vertikální velikost na
polovinu. Spojte oba za sebe (v libovolném pořadí) pro zmenšení celého obrazu na polovinu. Také můžete
použít zkratku ReduceBy2
, což je stejné jako HorizontalReduceBy2
následováno VerticalReduceBy2
.
Použité jádro filtru je (1/4,1/2,1/4), což je stejné jako ve filtru VirtualDubu "2:1 reduction (high quality)". Tím se daří vyhnout problému vyhlazování okrajů hran (aliasing), který nastává s jádrem (1/2,1/2). Filtr Resize ve VirtualDub používá třetí, zvláštní jádro pro redukci 2:1, ale experimentoval jsem s ním a zjistil, že ve skutečnosti vytváří mírně hůře vypadající MPEG soubory--pravděpodobně proto, že mírně zostřuje hrany, a většina kodeků nemá ráda ostré hrany.
Pokud je vaše zdrojové video prokládané, filtr VerticalReduceBy2
z něj odstraní
prokládání (smícháním polí), což je jeho postranní
efekt. Pokud plánujete vytvořit výstupní video o velikosti jako 320x240, doporučuji vám zachytávat v plném
vertikálním rozlišení (320x480) a použijte VerticalReduceBy2
. Získáte mnohem lépe vypadající
výstup. Můj kodek Huffyuv komprimuje zachytávané video přibližně 2:1, bezeztrátově, takže můžete zachytávat 320x480 na přibližně stejný diskový prostor jako při použití zachytávání
320x240. (Pokud má váš disk dostatečnou kapacitu a podporuje takový tok dat, můžete dokonce zachytávat v
rozlišení 640x480 a použít jak HorizontalReduceBy2
tak i VerticalReduceBy2
. Ale to už kvalitu tolik nezlepší, a pokud musíte jít
do MotionJPEG pro dosažení 640x480, budete mít pravděpodobně lepší výsledek s Huffyuv při 320x480.)
Všmněte si, že je to rychlý a špinavý filtr (výkon odpovídá kompromisu).
Proti standartním resize filtrům,
filtr ReduceBy2
nezachovává pozici středu obrazu.
Posouvá barevné plochy o půl pixelu. Ve skutečnosti je ReduceBy2()
ekvivalentní k:
BilinearResize(Width/2, Height/2, 0.5, -0.5)
pro RGB,
MergeChroma(BilinearResize(Width/2,Height/2,0.5,0.5),BilinearResize(Width/2,Height/2,1.0,1.0))
pro YV12,
MergeChroma(BilinearResize(Width/2,Height/2,0.5,0.5),BilinearResize(Width/2,Height/2,1.0,0.5))
pro YUY2.
$English Date: 2008/12/24 19:19:07 $
Český překlad:9.2.2009