Par Leonardo -
asciipixels est une bibliothèque rapide et facile pour convertir des images et des vidéos en art ASCII hautement personnalisable. La bibliothèque dispose de quatre fonctions principales qui effectuent tous les travaux d'asciification et enregistrent le résultat en tant qu'image, gif ou vidéo: image.asciify() , image.dynamic_asciify() , video.asciify() et video.dynamic_asciify() .
Pour un contrôle plus granulaire de ce que le programme devrait faire, la classe CoreAsciifier (la classe derrière les fonctions Asciipixels primaires) et les fonctions de wrapper pour ImageMagick et FFMPEG sont également disponibles.
Ce qui distingue vraiment la bibliothèque Asciipixels, c'est la fonctionnalité dynamique . Dans les fonctions image.dynamic_asciify() et video.dynamic_asciify() certains paramètres peuvent changer avec le temps. L'utilisateur peut transmettre des appels qui reçoivent le numéro de trame et renvoyer la valeur du paramètre, plutôt que de passer la valeur codée dure elle-même. Dans l'exemple ci-dessous, le paramètre definition augmente de 16 unités à chaque trame. Il est modélisé par une expression lambda très simple.

Remarque: Asciipixels dépend de deux logiciels de ligne de commande particuliers: ImageMagick et FFMPEG . Si vous êtes un nerd CLI et que vous les avez déjà installés, allez-y avec ce guide. Sinon, accédez à la section d'installation.
Utilisez la fonction correspondante en fonction de votre cas d'utilisation:
image.asciify() convertit l'image en image. L'art ASCII généré est renvoyé sous forme de chaîne et éventuellement enregistré dans un TXT.
image.dynamic_asciify() Convertit Image en vidéo GIF ou MP4. Prend en charge les paramètres dynamiques.
video.asciify() convertit la vidéo en vidéo.
video.dynamic_asciify() Convertit la vidéo en vidéo. Prend en charge les paramètres dynamiques.
Les quatre ont le path du fichier d'entrée comme premier argument. Les autres arguments ont tous des valeurs par défaut . Quelque chose dans ce sens est suffisant pour vous aider à démarrer:
import asciipixels as ap
ap . image . asciify ( 'foo.png' ) Cela générera une nouvelle image asciifiée nommée foo2.png .
Il est important de noter que toutes les fonctions sauf image.asciify() nécessitent un if __name__ == '__main__' vérifiez le niveau supérieur du code utilisateur ( sauf si vous utilisez Python interactif sur la ligne de commande). En effet, la bibliothèque utilise le multiprocessement pour accélérer la génération de trame. Ainsi, afin d'assifier une vidéo, par exemple, vous pouvez effectuer ce qui suit:
import asciipixels as ap
if __name__ == '__main__' :
ap . video . asciify ( 'foo.mp4' ) Le paramètre le plus important avec lequel jouer est la definition . C'est simplement le nombre de caractères dans l'axe horizontal . Par défaut est 100 dans toutes les fonctions. Réglez-le trop haut et l'art ASCII ressemblera à de l'art. Réglez-le trop bas et il ressemblera à ASCII.
Gardez également à l'esprit que vous pouvez définir la résolution de sortie de l'image / vidéo. Les dimensions de sortie approximativement les dimensions d'entrée par défaut, mais vous pouvez le modifier avec l'argument out_width .
Enfin, si vous décidez de travailler avec du texte sombre sur un fond léger , n'oubliez pas de définir reverse_chars sur True afin de corriger la cartographie pixel-to-ascii.
Comme dernier exemple, j'ai fait le GIF Bigweld dans la section What Is 'Dynamic' avec le code suivant:
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
)La liste complète des paramètres / arguments d'une fonction primaire donnée se trouve dans sa documentation.
Pour installer des asciipixels, utilisez PIP dans le terminal:
Fenêtre
pip install asciipixels
macOS / Linux
python3 -m pip install asciipixels
Asciipixels a deux dépendances qui ne sont pas installées automatiquement. Ce sont ImageMagick , pour la manipulation d'images, et FFMPEG , pour la manipulation vidéo et audio. Vous pouvez les télécharger à partir de leurs sites officiels ou en utilisant Homebrew (le cas échéant).
Installez ImageMagick ici
Installez FFMPEG ici
L'art ASCII est simplement la représentation d'images (ou de vidéo) avec des caractères et des lettres. Cet art peut être composé en utilisant des caractères qui correspondent à la luminosité ou au contour d'une partie d'une image. Cette bibliothèque fonctionne avec l'aspect luminosité.