Hallo,
ich habe eine avs-Datei, in der ich die Start- und Endframes für eine Filterung notiert habe. Da ich keinen entsprechenden Filter gefunden habe, um die Fischaugenverzerrung einer Kamera zu entzerren, habe ich in mühseliger Handarbeit das Video in zig Streifen per crop zerlegt und die Streifen mittels crop und resize auf die gewünschte Höhe gebracht. Das ganze mit Stackhorizontal() wieder zusammengeführt, funktioniert prima, mir gefällt es besser als das Original. Nun ist das Video aber nur szenenweise mit der "blöden" Fischaugenkamera gedreht.
Gibt es eine Möglichkeit, das ganze Video einzuladen, und nur für die angegeben Frames die zweite avs zu aktivieren?
ZitatImport("d:\entzerren.avs")
directshowsource("bill960519.asf", fps=30).changefps(25)
entzerren(last,2873,3022)
entzerren(last,3269,3622)
entzerren(last,4570,4784)
entzerren(last,4827,4974)
So ähnlich müsste das aussehen, geht natürlich nicht, da entzerren ja keine Funktion ist.
Das Entzerren-Skript sieht ungefähr so aus
ZitatAlles anzeigena1 = clip.crop(796,6,-0,-17).lanczosresize(4,600)
a2 = clip.crop(792,6,-4,-17).lanczosresize(4,600)
a3 = clip.crop(788,6,-8,-17).lanczosresize(4,600)
a4 = clip.crop(784,6,-12,-17).lanczosresize(4,600)
...undsoweiterbis
a197 = clip.crop(12,46,-784,-29).lanczosresize(4,600)
a198 = clip.crop(8,47,-788,-30).lanczosresize(4,600)
a199 = clip.crop(4,41,-792,-25).lanczosresize(4,600)
a200 = clip.crop(0,41,-796,-25).lanczosresize(4,600)stackhorizontal(a200,a199,a198,a197,...,a4,a3,a2,a1)
Edit: Ich schau morgen wieder rein. Greetz