Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws2122:asciia:ascii-animation.py

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ws2122:asciia:ascii-animation.py [2022/03/18 14:18]
Jaden
ws2122:asciia:ascii-animation.py [2022/03/30 08:23] (aktuell)
MoscarTU
Zeile 1: Zeile 1:
 ===== ASCII-Animation.py ===== ===== ASCII-Animation.py =====
 +Diese Datei ist die Hauptdatei unseres Programms ASCIÌ-Animation. Sie muss ausgeführt werden, um das Programm zu starten. Neben der Main-Methode werden noch einige Hilfsfunktionen,​ unter anderem für eine kleine Benutzeroberfläche,​ implementiert.
 <code python> <code python>
 import cv2 # muss extra installiert werden mit: pip install opencv-python import cv2 # muss extra installiert werden mit: pip install opencv-python
Zeile 19: Zeile 19:
 abh.Abbruchsignal() abh.Abbruchsignal()
 </​code>​ </​code>​
-An dieser Stelle werden lediglich externe Bibliotheken und unsere Hilfsdateien importiert.+An dieser Stelle werden lediglich externe Bibliotheken und unsere Hilfsdateien importiert. Beachtet werden muss nur, dass cv2 (opencv), readchar und pyfiglet standardmäßig nicht bei Python installiert sind.
 <code python> <code python>
 # Methode für korrekte Eingabe der Ja/Nein Abfragen, ArtZahl ist für welche Eingabe gemeint ist (beliebig erweiterbar) # Methode für korrekte Eingabe der Ja/Nein Abfragen, ArtZahl ist für welche Eingabe gemeint ist (beliebig erweiterbar)
Zeile 155: Zeile 155:
 t1.join() # Thread Ende bei erfolgreichen Abschließen der Schleifen t1.join() # Thread Ende bei erfolgreichen Abschließen der Schleifen
  
-shutil.rmtree('​Bildercache'​) # Löscht kompletten ​Cacheordner+shutil.rmtree('​Bildercache'​) # Löscht kompletten ​Bildercache
 print(Style.RESET_ALL) print(Style.RESET_ALL)
 </​code>​ </​code>​
-Die for-Schleife geht alle Frames durch und ruft jedes mal die Datei "​AsciiBildConverter"​ auf, in der ein "​normales"​ Bild zu einem ASCII-Bild umgewandelt wird. Dabei haben wir noch einen Timer implementiert,​ welcher die Zeit misst, damit die Videowiedergabe annähernd wie die vom Originalvideo ist. Allerdings ist das immer noch nicht optimal, weil die Berechnung dafür auch Mikrosekunden benötigt. ​+Die for-Schleife geht alle Frames durch und ruft jedes mal die Datei "​AsciiBildConverter"​ auf, in der ein "​normales"​ Bild zu einem ASCII-Bild umgewandelt wird. Durch die for-Schleife werden die Bilder sehr schnell umgewandelt und auf der Konsole hintereinander ausgegeben, wodurch es wie ein Video aussieht. Dabei haben wir noch einen Timer implementiert,​ welcher die Zeit misst, damit die Videowiedergabe annähernd wie die vom Originalvideo ist. Allerdings ist das immer noch nicht optimal, weil die Berechnung dafür auch Mikrosekunden benötigt. ​
 Am Programmende wird der Cache mit den Bildern gelöscht. Am Programmende wird der Cache mit den Bildern gelöscht.
  
 +Tipp: Bei einer Pause oder am Ende des Programms die Anaconda hochscrollen,​ dadurch wird sichtbar, dass es wie ein "​Daumenkino"​ ist.
ws2122/asciia/ascii-animation.py.1647609536.txt.gz · Zuletzt geändert: 2022/03/18 14:18 von Jaden