Hallo zusammen, ich möchte das zwar nicht in VHDL lösen, sondern offline auf dem PC, aber hier scheinen mir die meisten Videoprozessierer mitzulesen. Netiquette Für einige anschauliche Videos meiner Diplomarbeit möchte ich automatisiert einen Datenstrom aus Einzelbildern nachbearbeiten. Die Einzelbilder (png) wurden mit Matlab erzeugt, allerdings ist das Abspielen mit konstanter Framerate eine nervenaufreibende Angelegenheit (270k Dateien!!). Ich konnte keine Software finden, die es mir erlaubt, eine Videodatei zu erzeugen und dabei die effektiven Frameraten in png-files/sec variabel anzugeben. Also müsste ich das manuell machen, indem ich für die Bilder ein Tool zum Preprocessing schreibe. Der Sinn: dann kann einfach virtualDub mit konstanter Framerate das gewünschte Video erzeugen. Beispiel: Die gewünschte effektive Framerate ergibt sich, weil die Bildserie bereits in gut 1600 Blöcke unterteilt ist. 1. Hat ein Block 1-5 Bilder, sollen 10 Bilddateien daraus werden. 2. Hat ein Block 6-200 Bilder, sollen 25 Bilddateien daraus werden. 3. Hat ein Block 201-2000 Bilder, sollen 50 Bilddateien daraus werden. 4. Hat ein Block mehr als 2000 Bilder, sollen 100 Bilddateien daraus werden. Läuft das Video am Ende mit 50fps, dürfte das ganz ansehnlich werden. Problem ich muss also pro Block eine Bilderserie interpolieren, um aus einer Zahl n von Bildern eine neue Zahl m von Bildern zu generieren. Dabei kann in den Fällen 1&2 die Bilderzahl steigen. In den Fällen 2&3&4 hingegen sinkt die Zahl an Bildern. Naiv ginge das durch Kopieren und Löschen von Einzelbildern. Aber gibt es auch eine Möglichkeit, eine echte Interpolation hinzubekommen? Ich könnte mir vorstellen, dass das Video dadurch optisch ansprechender wird und weniger "Jitter" auftritt - auch wenn der Begriff hier etwas hinkt. Mehr als 1-2 Tage Arbeit kann ich allerdings nicht mehr hineinstecken (Deadline!). Hat Matlab vielleicht schon solche Funktionen eingebaut? Alternativ programmiere ich in einer Sprache in VisualStudio. So etwas häng sicherlich auch vom Inhalt der Bilder ab: Im Prinzip sieht man das Standbild eines Labyrinths (bzw. einer beliebig gearteten Umgebung mit variablen Überquerungskosten). In diesem Labyrinth bewegt sich ein Roboter und erkundet neue Teile der Umgebung. Jeder Block entspricht einem Schritt des Roboters (Anhang). Die Bilder innerhalb des Blockes zeigen die Arbeitsschritte des Suchalgorithmus des Roboters. Hierbei werden einzelne Zellen des Laybrinths farbig ausgefüllt. Da jeder Block für sich nachbearbeitet wird, muss also nur das Ausfüllen von einzelnen Zellen mit verschiedenen Farben interpoliert werden.
:
Verschoben durch Admin
Also, wenn dein "Zeitraffer" läuft, kannst du einfach alle Bilder, die über 50 Frames hinaus gehen löschen. So läuft das beim Zeitraffer. Weglassen von Zwischenschritten bzw. Bildern. Ich würde empfehlen: Schreibe dir ein Python-Skript o.Ä., welches dir die Bilder so lange verdoppelt, bis deine Zeitlupenfunktion 50 fps entspricht und so lange Bilder aus den zu vollen Ordnern löscht, bis das Ganze 50 fps entspricht. Dann hängst du die Bilder hintereinander und hast deinen Zeitlupen/-raffereffekt. Ich würde noch jeweils oben rechts im Bild die Zeit einblenden. "Interpolieren" hieße Zwischenbilder generieren (transparent übereinander legen), da dein Proggi nicht wissen kann, was da sinnvoll zwischen gehört -> Unschärfe wird's werden. UND. Falsches Subforum. Egal wer hier ließt, hier isses falsch.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.