Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
ws2122:asciia:ascii_animation [2022/03/16 14:30] MoscarTU |
ws2122:asciia:ascii_animation [2022/03/26 16:37] (aktuell) MoscarTU |
||
---|---|---|---|
Zeile 5: | Zeile 5: | ||
===== 1. Projektbeschreibung ===== | ===== 1. Projektbeschreibung ===== | ||
- | Das Ziel ist, eine Videodatei einzulesen, die einzelnen Pixel in ASCII-Zeichen umzuwandeln und anschließend das gleiche Video mit ASCII-Zeichen auf der Konsole wieder auszugeben. | + | Das Ziel ist, eine Videodatei einzulesen, die einzelnen Pixel in ASCII-Zeichen umzuwandeln und anschließend das gleiche Video mit ASCII-Zeichen auf der Konsole wieder auszugeben. Eine Erklärung zu ASCII gibt es [[https://de.wikipedia.org/wiki/American_Standard_Code_for_Information_Interchange?msclkid=fae8ad14a5e011ec84811dbed2e65590|hier]]. |
{{ :ws2122:asciia:bilder-1.jpg?nolink |}} | {{ :ws2122:asciia:bilder-1.jpg?nolink |}} | ||
Unsere Zwischenziele: | Unsere Zwischenziele: | ||
- | - Video importieren | + | * Video importieren |
- | + | * Video in Frames aufteilen | |
- | - Video in Frames aufteilen | + | * Konvertierung der Bilddaten in ASCII-Zeichen |
- | + | * Zusammenfügen der ASCII-Frames zu Video und Videowiedergabe (ASCII) | |
- | - Konvertierung der Bilddaten in ASCII-Zeichen | + | |
- | + | ||
- | - Zusammenfügen der ASCII-Frames zu Video und Videowiedergabe (ASCII). | + | |
Geplant ist hierfür nur die Ein- und Ausgabe von Schwarz-Weiß Videos. | Geplant ist hierfür nur die Ein- und Ausgabe von Schwarz-Weiß Videos. | ||
Als Bonusziel wäre denkbar, das Ganze für farbige Ein- und Ausgabe zu optimieren, falls wir dazu kommen werden. | Als Bonusziel wäre denkbar, das Ganze für farbige Ein- und Ausgabe zu optimieren, falls wir dazu kommen werden. | ||
- | ===== 2. Dokumentation ===== | + | ===== 2. Protokoll ===== |
- | [[ws2122:asciia:ascii_animation:protokoll|Hier geht es zum Protokoll und Verlauf des Projekts]] | + | **[[ws2122:asciia:ascii_animation:protokoll|Hier geht es zum Protokoll und Verlauf des Projekts.]]** |
- | ===== 3. Code ===== | + | ===== 3. Erklärung zum Code ===== |
- | Unser Code ist unterteilt in 3 verschiedene Dateien, welche unterschiedliche Funktionen haben: | + | Unser Code ist unterteilt in drei verschiedene Dateien, welche unterschiedliche Funktionen haben: |
- | [[ws2122:asciia:ASCII-Animation.py|ASCII-Animation.py:]] | + | ===ASCII-Animation.py=== |
- | Dies ist unsere Hauptdatei und beinhaltet die Main-Methode. Neben dieser werden hier außerdem einige Hilfsfunktionen für die Eingabe definiert und der Bilderordner erstellt. | + | Dies ist unsere Hauptdatei und beinhaltet die Main-Methode. Neben dieser werden hier außerdem einige Hilfsfunktionen für die Eingabe definiert und der Bilderordner erstellt. Auf der folgenden Seite werden die einzelnen Codeabschnitte genauer erklärt: **[[ws2122:asciia:ASCII-Animation.py|ASCII-Animation.py]] |
+ | ** | ||
- | [[ws2122:asciia:Abbruch.py:|Abbruch.py:]] | + | ===AsciiBildConverter.py=== |
- | Regelt das Pausieren des Programms mit STRG + C und löscht bei Abbruch alle vorher erstellten Bilddateien, um Speicherplatz wieder freizugeben. | + | Diese Datei beinhaltet die Funktion, um die Originalbilder in ASCII-Zeichen umzuwandeln. Die Funktionsweise wird hier gezeigt: **[[ws2122:asciia:AsciiBildConverter.py:|AsciiBildConverter.py]]** |
- | AsciiBildConverter.py: | + | ===Abbruch.py=== |
- | Beinhaltet die Funktion, um die Originalbilder in ASCII-Zeichen umzuwandeln. | + | Regelt das Pausieren des Programms mit STRG + C und löscht bei Abbruch alle vorher erstellten Bilddateien, um Speicherplatz wieder freizugeben. Diese Datei wird hier genauer beschrieben: **[[ws2122:asciia:Abbruch.py:|Abbruch.py]]** |
- | ===== 4. Fazit ===== | + | ===== 4. Fazit und Ausblick ===== |
+ | |||
+ | Im Allgemeinen sind wir sehr zufrieden damit, was wir im Rahmen dieses Projektes erreicht haben. Besonders als Programmieranfänger waren wir uns anfangs nicht sicher, ob wir unsere Ziele erreichen können, doch letztendlich haben wir sogar einen Teil unserer Zusatzziele implementiert, nämlich die variable farbige Ausgabe des ASCII-Videos. Außerdem sind uns noch weitere schöne und nützliche Features eingefallen. | ||
+ | |||
+ | Eine zusätzliche Funktion, die noch denkbar wäre, ist die Möglichkeit, farbige Videos einzulesen und die Ausgabe bunt zu gestalten, anstatt nur zweifarbig so wie es jetzt der Fall ist. Außerdem könnte man noch Sound implementieren, falls es sich bei dem Originalvideo um beispielsweise ein Musikvideo handelt. Auch das Timing der Frames ist weiterhin verbesserungswürdig. | ||
===== 5. Ergebnis ===== | ===== 5. Ergebnis ===== | ||
- | [[https://www.youtube.com/watch?v=cs5IG3gt18g|Ergebnisvideo auf YouTube]] | + | Der komplette Code mit einem Test-Video zum Ausführen des Programms: {{:ws2122:asciia:ascii-animation.zip|ASCII-Animation}} |
- | Temporäre Links: | + | <HTML> |
- | https://www.mintgruen.tu-berlin.de/mathesisWiki/doku.php?id=ws1314:wiki:syntax | + | <iframe width="560" height="315" src="https://www.youtube.com/embed/cs5IG3gt18g" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> |
+ | </HTML> | ||
+ | [[https://www.youtube.com/watch?v=cs5IG3gt18g|Ergebnisvideo auf YouTube]] |