Zobrazit plnou verzi : Chromakey jinak
Dobrej. Mám dotaz na někoho, kdo má aspoň trochu základy skriptování v sony vegasu. Nějak nemůžu docílit pěkného klíčování a proto mě napadla taková věc, která by mohla být užitečná. Pokud mám statický záběr, tak pozadí je vždy stejné a jediná pohyblivá věc na záběru jsem já. Abych nemusel tahat sebou klíčovací pozadí, tak nešlo by napsat nějaký skript, kterému zadám "hlavní pozadí" a video a on by porozvnával, která oblast je ještě stejná jako na pozadí a která je jiná (v mém případě třeba já) Stejné části nebo pixely by nastavil jako průhledné a jiné pixely by nechal. V podstatě by se jednalo o automatické maskování, ale značně by to ulehčilo práci. Do exteriérů by se nemuseli tahat klíčovací pozadí, světla, plachty atd a vše by šlo točit v podstatě v pokoji. Tak se vás ptám, zda-li něco takového již není, nebo jestli to někdo neumí vyřešit. Předem děkuji za odpověď.
LOPOLO_2
19-07-2009, 17:05
Mno, zajimalo by me, jak bys definoval "hlavni pozadi" jinak, nez jak je to uz v jinych programech reseno. Teda barvou nebo definovanou maskou. Barva je jasna a software, kterej dokaze vicemene udrzet masku na klicovanym objektu existuje, ale to uz takova sranda neni. Jako skript pro vegas si to nedovedu predstavit vubec.
pomoci masktools pod avisynthem by to pravdepodobne slo.
pokud se pozadi nehybe muzes odecist video od pozadi. tam kde neni rozdil, ziskas masku.
protoze pravdepodobne budou existovat v pozadi i popredi stejne barvy, musis masku rozsirit.
proste google masktools, pripadne site:forum.doom9.org.
Díky moc...Po kouknu se na to...
http://manao4.free.fr/MaskTools.htm#motionmask
source = AviSource("overlay.avi").AssumeFPS(24)
#blur the source
clip = source.Blur(1.58).Blur(1.58).Blur(1.58)
#load the background to replace, captured from the blurred sequence
bgnd = ImageReader("bgnd.ebmp", 0, clip.framecount()-1, 24,
use_DevIl=false)
#load new background
new = ImageReader("new.ebmp", 0, clip.framecount()-1, 24,
use_DevIl=false)
#integrated filter to output the mask = (clip~overlay?)
mask = OverlayMask(clip, overlay.ConvertToYV12(), 10, 10)
MaskedMerge(source, new.ConvertToYV12(), mask, Y=3, U=3, V=3)
vBulletin v4.1.12, Copyright ©2000-2012, Jelsoft Enterprises Ltd.