Gibt es ein Befehlszeilenprogramm (für Linux), das ein Bild in ASCII-Kunst konvertieren und diese Ausgabe dann als Bild speichern kann, z. B. JPG oder PNG?
Um zu veranschaulichen, was ich brauche, möchte ich das folgende Bild in ASCII-Kunst umwandeln
Die Ausgabe, die ich von einem Programm wünsche, sollte ähnlich der sein, die durch Aufnehmen eines Screenshots der Ausgabe eines Image-to-ASCII-Konverters erstellt wurde (die Ausgabe war reiner Text).
Mir ist bewusst, dass GIMP ein Bild als ASCII-Grafik speichern kann und aview auch ein Bild in ASCII konvertieren kann. Ersteres kann jedoch nicht über die Befehlszeile ausgeführt werden, und letzteres ermöglicht nur das Anzeigen der Ausgabe, nicht das Speichern (ich möchte nicht auf einen Screenshot der Ausgabe zurückgreifen).
Mir ist auch bewusst, dass libcaca seine Ausgabe in einem Bild speichern kann, aber es gibt nur bunte ASCII aus, wie unten.
Erstellt durch Konvertieren des Quellbilds in Graustufen und dann mit dem folgenden Befehl:
img2txt -W 70 -f tga input.jpg > output.tga
Der Grund für die Verwendung eines Befehlszeilenprogramms ist die Stapelverarbeitung eines Ordners voller Bilder.
quelle
convert
(ImageMagick) weiterzuleiten. Wenn Sie die Ausgabe -f von img2txt auf ansi setzen (anstatt auf farbige ansi), können Sie das Ergebnis per Pipe konvertieren (oder eine andere geeignete Software)Antworten:
Sie können diesen Python-Code verwenden, den ich erstellt habe, um aus Standbildern und Videos ASCII-Kunst zu erstellen:
https://gist.github.com/lindylex/9374326
Beispielausgabe
Original
ASCII-Kunstausgabe (
python ascii_movie_image_ver_1.py cat.jpg 4 10
)quelle
Wenn Sie Linux verwenden, können Sie die Anwendungen einfach zusammenfügen, um das gewünschte Ergebnis zu erzielen. Dies kann dann auch in Ihr Stapelverarbeitungsskript aufgenommen werden.
Das folgende Beispiel verwendet jp2a , einen leistungsstarken JPG / ASCII-Konverter mit vielen Optionen, um die gewünschten Ergebnisse zu erzielen (siehe Manpage). Anschließend verarbeiten wir die resultierende ASCII-Textdatei mithilfe der Konvertierung aus der ImageMagick-Suite zu einem Bild weiter . Auch hier gibt es viele Optionen, um das Ergebnis zu optimieren. Beide Anwendungen sind wahrscheinlich in den Repositorys Ihrer Distribution verfügbar.
Das folgende Beispielskript erzeugt
.jpg
aus einem eingegebenen JPEG-Bild ein ASCII-Bild (Format abhängig von der angegebenen Erweiterung, gilt für JPEG). Die Quelle wird mit einer Zeichenbreite von 160 bei 6 pt gerendert. Dies passt dann einfach auf die Standard-Seitengröße, die beim Konvertieren vordefiniert wurde.quelle
835px
? Ich möchte die ASCII-1920x1080
Grafik in ein Hintergrundbild konvertieren, aber wenn ich die-resize 1920x1080
Option übergebe, bleibt die Breite bei835px
.brew install jp2a
.jp2a --html --width=160 --chars="\'\"love" input.jpg --output=output.htm
. Sie können Ihre bevorzugten Zeichen für das Rendern angeben (Sie müssen Metazeichen maskieren, wenn Sie sie verwenden möchten). Für jp2a siehe auch AUR für Arch .In Node.js Knockout 2012 gab es eine Gewinner-Einsendung, die einen Webcam-Video-Feed aufgenommen und einen "ASCII-Feed" ausgespuckt hat:
Asciigramm
Es ist nicht gerade eine Befehlszeile, aber vielleicht können Sie sie für Ihre Bedürfnisse nachrüsten. Die Bibliothek, mit der das Bild in ASCII konvertiert wird, heißt Jscii .
quelle
Ich benutze jp2a für ASCII-Kunst. Einfache Verwendung über die Befehlszeile:
Und können die Ergebnisse online unter asciiconvert.com testen .
quelle
Sie scheinen Linux zu verwenden und kennen libcaca bereits. Es gibt eine andere Bibliothek, die genau das tut, was Sie sagen (Image to Ascii in der Befehlszeile): Aalib .
Es gibt viele Programme, die dies tun. Dieser funktioniert sowohl unter Linux als auch unter Windows . Verwendet keine externen Bibliotheken, vollständiger Quellcode verfügbar, etc ...
quelle
Solange mir bekannt ist, dass das Programm keine Befehlszeilenschnittstelle hat, sondern Bilder in Text und dann in Bilder konvertiert. Der Quellcode ist verfügbar, sodass Sie damit Ihr eigenes Tool schreiben können.
Sie haben recht, aalib gibt keine Bilder aus, aber es gibt Text aus. Und viele andere Programme, die auf der Kommandozeile funktionieren.
Wenn Sie Linux verwenden, gibt es ein Befehlszeilenprogramm namens asciitopgm, das ASCII-Text in eine Bitmap konvertiert. Es ist Teil des netpbm-Pakets.
Sie können also eine Kombination von Werkzeugen verwenden:
Ich denke, Sie können auf diese Weise tun, was Sie wollten.
quelle
Ja, es gibt ein Tool,
jp2a
das im Grunde genommen ein JPG-Bild in eine ASCII-Grafik konvertiert.Z.B:
Ursprüngliches Skull.jpg
Ausgang Ascii Art
Stellen Sie sicher, dass Sie ein JPG-Bild verwenden. Wenn Ihr Bild in einem anderen Format vorliegt, können Sie es mit ändern
quelle