Von Leonardo - umactuell
asciipixels ist eine schnelle und einfache Bibliothek zum Konvertieren von Bildern und Videos in hochpassbare ASCII-Kunst . Die Bibliothek verfügt über vier Hauptfunktionen, die alle Asciification -Arbeiten ausführen und das Ergebnis als Bild, GIF oder Video speichern: image.asciify() , image.dynamic_asciify() , video.asciify() und video.dynamic_asciify() .
Für eine detailliertere Kontrolle des Programms sind auch die CoreAsciifier -Klasse (die Klasse hinter den primären ASCIIPixel -Funktionen) und Wrapper -Funktionen für Imagemagick und FFMPEG verfügbar.
Was die Asciipixel -Bibliothek wirklich auszeichnet, ist die dynamische Funktionalität. video.dynamic_asciify() Funktionsfunktion image.dynamic_asciify() Der Benutzer kann Hallables übergeben, die die Bildnummer empfangen und den Parameterwert zurückgeben, anstatt den hartcodierten Wert selbst zu übergeben. Im folgenden Beispiel erhöht sich der definition um 16 Einheiten in jedem Rahmen. Es wird durch einen sehr einfachen lambda -Ausdruck modelliert.

Hinweis: Asciipixel hängen von zwei bestimmten Befehlszeilensoftware ab: Imagemagick und FFMPEG . Wenn Sie ein Cli -Nerd sind und diese bereits installiert haben, dann fahren Sie mit diesem Leitfaden fort. Wenn nicht, gehen Sie zum Installationsabschnitt.
Verwenden Sie die entsprechende Funktion je nach Anwendungsfall:
image.asciify() konvertiert das Bild in das Bild. Die generierte ASCII -Kunst wird als Zeichenfolge zurückgegeben und optional in einem TXT gespeichert.
image.dynamic_asciify() konvertiert das Bild in GIF- oder MP4 -Video. Unterstützt dynamische Parameter.
video.asciify() konvertiert Video in Video.
video.dynamic_asciify() konvertiert Video in Video. Unterstützt dynamische Parameter.
Alle vier haben den path der Eingabedatei als erstes Argument. Der Rest der Argumente haben alle Standardwerte . Etwas in dieser Richtung reicht aus, um Ihnen den Einstieg zu erleichtern:
import asciipixels as ap
ap . image . asciify ( 'foo.png' ) Dies erzeugt ein neues Asciified Image namens foo2.png .
Es ist wichtig zu beachten, dass alle Funktionen mit Ausnahme von image.asciify() a erfordern if __name__ == '__main__' auf der oberen Ebene des Benutzercodes check check ( es sei denn, Sie verwenden interaktives Python in der Befehlszeile). Dies liegt daran, dass die Bibliothek Multiprocessing verwendet, um die Rahmenerzeugung zu beschleunigen. Um ein Video beispielsweise zu Asciify zu erstellen, können Sie Folgendes tun:
import asciipixels as ap
if __name__ == '__main__' :
ap . video . asciify ( 'foo.mp4' ) Der wichtigste Parameter , mit dem man herumspielen muss, ist die definition . Es ist einfach die Anzahl der Zeichen in der horizontalen Achse. Standardeinstellungen zu 100 in allen Funktionen. Setzen Sie es zu hoch und die ASCII -Kunst wird einfach wie Kunst aussehen. Stellen Sie es zu niedrig und es sieht einfach aus wie ASCII.
Denken Sie auch daran, dass Sie die Ausgabeauflösung des Bildes/Videos festlegen können. Die Ausgangsabmessungen approximieren standardmäßig die Eingangsabmessungen, aber Sie können dies mit dem Argument out_width ändern.
Wenn Sie sich entscheiden, mit dunklem Text auf leichtem Hintergrund zu arbeiten, denken Sie daran, reverse_chars auf True zu setzen, um die Zuordnung von Pixel-zu-ASCII zu korrigieren.
Als letztes Beispiel habe ich das Bigweld -GIF im Abschnitt "Dynamisch" mit dem folgenden Code gemacht:
import asciipixels as ap
if __name__ == '__main__' :
ap . image . dynamic_asciify (
'ceo.png' ,
bg_color = 255 ,
txt_color = 0 ,
definition = lambda f : f * 16 ,
fps = 2 ,
frame_count = 7 ,
out_width = 1000 ,
reverse_chars = True
)Die vollständige Liste der Parameter/Argumente einer bestimmten primären Funktion finden Sie in ihrer Dokumentation.
Verwenden Sie zum Installieren von Asciipixel PIP im Terminal:
Fenster
pip install asciipixels
macOS / Linux
python3 -m pip install asciipixels
Asciipixel verfügt über zwei Abhängigkeiten , die nicht automatisch installiert werden. Dies sind Imagemagick für Bildmanipulation und FFMPEG für Video- und Audio -Manipulation. Sie können sie von ihren offiziellen Websites oder mit Homebrew (falls zutreffend) herunterladen.
Installieren Sie im ImageMagick hier
Installieren Sie hier FFMPEG
ASCII -Kunst ist einfach die Darstellung von Bildern (oder Video) mit Zeichen und Buchstaben. Diese Kunst kann durch Verwendung von Zeichen komponiert werden, die entweder der Helligkeit oder der Kontur eines Teils eines Bildes entsprechen. Diese Bibliothek arbeitet mit dem Helligkeitsaspekt.