====== ASCII-Animation ====== //Teilnehmer: Carl Mosler, Jaden Diodone// ===== 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. 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 |}} Unsere Zwischenziele: * Video importieren * Video in Frames aufteilen * 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. Als Bonusziel wäre denkbar, das Ganze für farbige Ein- und Ausgabe zu optimieren, falls wir dazu kommen werden. ===== 2. Protokoll ===== **[[ws2122:asciia:ascii_animation:protokoll|Hier geht es zum Protokoll und Verlauf des Projekts.]]** ===== 3. Erklärung zum Code ===== Unser Code ist unterteilt in drei verschiedene Dateien, welche unterschiedliche Funktionen haben: ===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. Auf der folgenden Seite werden die einzelnen Codeabschnitte genauer erklärt: **[[ws2122:asciia:ASCII-Animation.py|ASCII-Animation.py]] ** ===AsciiBildConverter.py=== Diese Datei beinhaltet die Funktion, um die Originalbilder in ASCII-Zeichen umzuwandeln. Die Funktionsweise wird hier gezeigt: **[[ws2122:asciia:AsciiBildConverter.py:|AsciiBildConverter.py]]** ===Abbruch.py=== 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 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 ===== Der komplette Code mit einem Test-Video zum Ausführen des Programms: {{:ws2122:asciia:ascii-animation.zip|ASCII-Animation}} [[https://www.youtube.com/watch?v=cs5IG3gt18g|Ergebnisvideo auf YouTube]]