*offizielles deutsches flaskmpeg & dvdtoogm board*
Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen FlaskChat Zur Startseite

*offizielles deutsches flaskmpeg & dvdtoogm board* » *virtualdub(mod) & avisynth* » Avisynth: ZoomIn/Out+ZoomedTravel auf einem Bild » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen Avisynth: ZoomIn/Out+ZoomedTravel auf einem Bild
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Selur
spamming old Newbie


images/avatars/avatar-173.png

Dabei seit: 13.03.2002
Beiträge: 10.933

Avisynth: ZoomIn/Out+ZoomedTravel auf einem Bild Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Bin letztens auf die Idee gekommen, man könnte ja kleine Videos u.a. dadurch erzeugen, das man in ein Panoramabild an eine bestimmte stelle reinzoomt, dann sich durch das Bild bewegt und wieder rauszoomt.

Da ich keine brauchbaren Filter für mein Vorhaben gefunden habe, habe ich mich erstmal an Didée gewandt. -> er hat aktuell keinen Zeit und Nerv

Also hab ich mich dann mal rangemacht und etwas genauer in die Syntax&Co von Avisynth eingearbeitet und jetzt eine kleine Skriptsammlung mit der es gut geht. (siehe Anhang)

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
Import("zooming.avs")
i = ImageSource("g:\yun_3054.jpg")
iheight = i.height()/2.0


#zoomt in 250 Frames rein am linkten Rand auf mitte des Bildes und erzeugt dabei immer ein tWidthxtHeight großes Bild
zoomin = i.zooming(tWidth=720, tHeight=576, coX=0.0, coY=iheight, zoomFactor=6, steps=250).trim(0,249)

#bewegt den Rahmen in 1000 Schritten über das Bild
inzoom = calcInitFactor(i, 720,576)
walk = i.zoomedWalk(zoom=6.0/inzoom, startX=576/4.0, startY=iheight, steps = 1000).trim(0,999)

#zoomt in 250 Schritten wieder raus
zoomout = zooming(i, tWidth=720, tHeight=576, coX=i.width()-576/4.0, coY=iheight, beginZoom=(6.0/inzoom), zoomFactor=1.0/6.0, steps=250).trim(0,249)

return (zoomin+walk+zoomout).AssumeFPS(25).ConverttoYv12()


Einziges Problem an der ganzen Sache ist nur:

Das Encoden dauert ewig, weil größere Panoramabilder nicht in meinen Arbeitsspeicher passen. großes Grinsen

Wer es auch mal ausprobieren will mit einem beliebigen Bild:
1. zooming.avs runterladen (.txt entfernen)
2. BeispielCode in eine .avs-File kopieren
3. Pfad zu einem eigenen Bild und Pfad zum zooming.avs-Skript anpassen
4. das erstellte .avs File mit z.B. Virtual Dub konvertieren

Cu Selur

Ps.: Falls doch noch ein Fehler drinne ist bitte Bescheid geben. smile

Dateianhang:
txt zooming.avs.txt (5,39 KB, 320 mal heruntergeladen)


__________________
Hybrid
30.08.2007 22:40 Beiträge von Selur suchen Nehmen Sie Selur in Ihre Freundesliste auf
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
*offizielles deutsches flaskmpeg & dvdtoogm board* » *virtualdub(mod) & avisynth* » Avisynth: ZoomIn/Out+ZoomedTravel auf einem Bild

WBB, entwickelt von WoltLab GmBH