Esta guía enseña cómo convertir imágenes a formato ASCII en Linux. Para el propósito de esta tarea, usaremos Jp2a . Jp2a es una herramienta de línea de comandos que le ayuda a convertir las imágenes dadas al formato de caracteres ASCII. Puede especificar una combinación de archivos de imagen y URL y la herramienta Jp2a los convertirá todos en caracteres ascii al instante. Jp2a tiene muchas opciones útiles para manipular las imágenes. ¡Aquí hay un par de cosas que Jp2a puede hacer por ti!
- leer imágenes desde la entrada estándar,
- establecer el modo de fondo como claro u oscuro,
- establecer borde,
- establecer alto y ancho de salida,
- establecer una dimensión personalizada para las imágenes de salida,
- girar la imagen de salida vertical u horizontalmente,
- utilizar caracteres específicos al producir la imagen ASCII de salida,
- invertir imágenes,
- descargar imágenes de la web y convertirlas,
- Y muchos.
Instalar Jp2a en Linux
Jp2a está empaquetado para muchas distribuciones de Linux y está disponible en los repositorios predeterminados.
Para instalar Jp2a en Arch Linux y sus variantes como Manjaro Linux, ejecute:
$ sudo pacman -S jp2a
En Debian, Ubuntu, Linux mint:
$ sudo apt install jp2a
En Fedora:
$ sudo dnf install jp2a
En CentOS/RHEL:
$ sudo yum install epel-release
$ sudo yum install jp2a
En openSUSE:
$ sudo zypper install jp2a
Convertir imágenes a formato ASCII en Linux
Para convertir una imagen JPG/JPEG determinada a formato de caracteres ASCII, simplemente ejecute:
jp2a <path-to-image>
Ejemplo:
$ jp2a arch.jpg
Salida de muestra:
MWXMWXWWXWWXWWXWWXWMXWMXNMNNMNNMNNMNNMNXWNXMWXWWXWWXWWXWMXWMXNMXNMNNMNNMNNMNXMNXMW NWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWdxWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNWNNWNkccxWWNWWNWWNWWNWWNWWNNWNNWNNWNNWNNWNNWNNWW WWNWWNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNW0ccccOWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNWWNWW NWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWKlccccc0WNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNWNXlccccccl0WWNWWNWWNWWNWWNNWNNWNNWNNWNNWNNWNNWW WWNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNocccccccclXWNWWNWWNWWNWWNWWNNWNNWNNWNNWNNWWNWW NWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNdccccccccccoXWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNkccccccccccccoXWWNWWNWWNWWNNWNNWNNWNNWNNWNNWNNWW WWNWWNWWNWWNWWNWWNWWNWWNWWNWWNNWNkccccccccccccccdNWNWWNWWNWWNWWNWWNNWNNWNNWNNWWNWW NWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNkccccccccccccccccdNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWXxccccccccccccccccdXWWNWWNWWNNWNNWNNWNNWNNWNNWNNWW WWNWWNWWNWWNWWNWWNWWNWWNWWNNWNOoOXNklccccccccccccccdNWNWWNWWNWWNNWNNWNNWNNWNNWWNWW NWWNNWNNWNNWNNWNNWWNWWNWWNWWNOccccok0kdcccccccccccccoXWNNWWNWWNWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNWWNWWNWWNNOcccccccccodoccccccccccccoXWWNWWNWWNNWNNWNNWNNWNNWNNWW WWNWWNWWNWWNWWNWWNWWNWWNWWNkccccccccccccccccccccccccccoNWNWWNWWNWWNNWNNWNNWNNWWNWW NWWNWWNNWNNWNNWNNWWNWWNWWNkccccccccccccccccccccccccccccoXWWNWWNWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNWWNWWNNkccccccccccccccccccccccccccccccoKWWNWWNNWNNWNNWNNWNNWWNWW WWNWWNWWNWWNWWNWWNWWNWWNxcccccccccccccccccccccccccccccccclXWNNWNNWNNWNNWNNWNNWNNWW NWWNNWNNWNNWNNWNNWWNWWXdcccccccccccccccccccccccccccccccccclKWWNWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNWWNNdccccccccccccccccccccccccccccccccccccl0NWNNWNNWNNWNNWNNWNNWW WWNWWNWWNWWNWWNWWNWWXoccccccccccccccccdx0Oxdlcccccccccccccccl0WNWWNNWNNWNNWNNWWNWW NWWNWWNNWNNWNNWNNWWKlcccccccccccccclkXWWNWWNNOlcccccccccccccccOWWNWWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNWWNKlcccccccccccccclKNWWNWWNWWNXocccccccccccccccONWNNWNNWNNWNNWWNWW WWNWWNWWNWWNWWNWW0lcccccccccccccclXNNWNNWWNWWNWNoccccccccccccccckWNNWNNWNNWNNWNNWW NWWNNWNNWNNWNNWNkccccccccccccccccONWWNWWNWWNNWNNXccccccccccccccccdNWNWWNWWNWWNWWNN WWNWWNWWNWWNWWNkcccccccccccccccclNWNNWWNWWNWWNWWNdcccccccccloolcccdNWNNWNNWNNWWNWW WWNWWNWWNWWNWWxcccccccccccccccccoNWNNWWNWWNWWNWWNkcccccccccccoxO0OddNNNWNNWNNWNNWW NWWNNWNNWNNWXdccccccccccccccccccoWNWWNWWNWWNNWNNWkcccccccccccccclxKNXWWNWWNWWNWWNN WWNWWNWWNWWXoccccccccccccccccccccXWNNWWNWWNWWNWWNdcccccccccccccccccoOXNWNNWNNWWNWW WWNWWNWWNWXocccccccccccccccldxk00XWNNWNNWWNWWNWWNK0kxdlcccccccccccccccxKNNWNNWNNWW NWWNNWNNWKlccccccccccldxO0NWNWWNWWNWWNWWNWWNNWNNWNNWNNWXK0xdlccccccccccl0WNWWMMMMM WWNWWNWWOccccccccoxOXNWNWWNWWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNKOxoccccccccOWNWMMMMM WWNWWNWOcccccox0NNWWNWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNNWNNN0xoccccckNNMMMMM NWWNNWkccok0XNWNNWWNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNWNNWWNWWNWWNWWNN0xocckWNWWNW WWNWNxdOXWWNWWNWWNWWNWWNWWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNXOxxNNNWW NWWNXNNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWNXWWNN
Sencillo, ¿no?
Puede especificar varias imágenes y convertirlas todas de una sola vez.
$ jp2a img1.jpg img2.jpg
Este comando convierte las imágenes dadas a ASCII y las mostrará una tras otra.
Como ya dije, Jp2a tiene muchas opciones y banderas para manipular las imágenes de entrada. Veamos el uso de algunas opciones con ejemplos.
Leer imágenes desde la entrada estándar
Para leer imágenes desde la entrada estándar e imprimir los caracteres ASCII en la salida estándar, utilice tubería comando como a continuación.
$ cat arch.jpg | jp2a -
Tenga en cuenta el símbolo de guión (-) al final.
Escribir la salida en un archivo
En lugar de mostrar la imagen ASCII en la salida estándar, puede escribirla en un archivo como se muestra a continuación.
$ jp2a arch.jpg --output=arch_ascii
Este comando agregará la salida ASCII en un archivo de texto llamado arch_ascii . Puede ver el contenido del archivo usando el comando "cat":
$ cat arch_ascii
Imprimir imágenes con altura/anchura específicas
Puede convertir la imagen a formato ASCII e imprimirla con un alto o ancho específico de su elección.
Para imprimir usando una altura específica, por ejemplo, 30 filas, simplemente haga lo siguiente:
$ jp2a --height=30 arch.jpg
El ancho se calculará automáticamente a partir de la relación de aspecto de la imagen.
Del mismo modo, para especificar el ancho, ejecute:
$ jp2a --weight=30 arch.jpg
También puede combinar ambas opciones e imprimir la imagen.
$ jp2a --height=20 --width=40 arch.jpg
Imprimir imágenes en formato ASCII en X columnas y Y filas
El siguiente comando convierte el archivo de imagen dado en ASCII e imprime la salida en 50 columnas y 30 filas.
$ jp2a --size=50x30 arch.jpg
Salida de muestra:
Establecer borde en caracteres ASCII
Si desea establecer un borde alrededor de la salida ASCII, use borde opción como la siguiente:
$ jp2a --border --size=50x30 arch.jpg
Salida de muestra:
Imprimir imágenes con fondo claro/oscuro
Jp2a tiene opciones para imprimir los caracteres ASCII en fondos claros y oscuros.
$ jp2a --background=light arch.jpg
$ jp2a --background=dark arch.jpg
Imprimir imágenes en formato ASCII en fondo oscuro
Si ve una imagen con un fondo blanco, pero está usando una pantalla con caracteres claros sobre un fondo oscuro, debe invertir la imagen usando el invertir bandera.
$ jp2a arch.jpg --invert
Salida de muestra:
. . . . . . . . . . . . . . . . . . . :; ,oo; .oooo' .looooo. .looooool. cooooooool. :ooooooooooc. ,ooooooooooooc. ,oooooooooooooo: ,oooooooooooooooo: .;oooooooooooooooo:. 'c'. ,loooooooooooooo: 'ooooc,.,:oooooooooooooc. 'oooooooooc:cooooooooooooc. ,ooooooooooooooooooooooooooc ,ooooooooooooooooooooooooooooc. ,ooooooooooooooooooooooooooooooc. ;ooooooooooooooooooooooooooooooool. .:ooooooooooooooooooooooooooooooooool. :ooooooooooooooooooooooooooooooooooool. .coooooooooooooooo:;.';:loooooooooooooool. .looooooooooooool,. 'looooooooooooooo' .looooooooooooool. .cooooooooooooooo' .looooooooooooool. cooooooooooooooo, ,oooooooooooooooo' .oooooooooooooooo: ,ooooooooooooooool :ooooooooolcclooo: ;oooooooooooooooooc ,oooooooooooc;'.':: .:ooooooooooooooooooc ,ooooooooooooool;. . .coooooooooooooooooooo. :oooooooooooooooooc'. .coooooooooooooool:;,... ..,;:looooooooooooooo;. .looooooooool:;'. ...;:looooooooool. 'ooooooooc;'. .';coooooooo' 'oooooc;. .;cooooo, ,ooc,.. .;coo, ;:'. .';; . .
Imprime imágenes solo con caracteres específicos
En lugar de imprimir la imagen con los caracteres predeterminados, puede usar algunos caracteres personalizados de su elección.
$ jp2a --size=50x30 --chars=" [email protected]@" arch.jpg
Descargar imágenes directamente desde Internet
No solo imágenes locales, es posible descargar directamente las imágenes de Internet y convertirlas a ASCII.
Para descargar imágenes directamente de Internet e imprimirlas en formato ASCII, ejecute:
$ jp2a --size=50x30 https://upload.wikimedia.org/wikipedia/commons/d/dd/Linux_logo.jpg
Alternativamente, use curl o wget programas para descargar las imágenes y jp2a leerá la imagen desde la entrada estándar como se muestra a continuación.
$ curl -s https://upload.wikimedia.org/wikipedia/commons/d/dd/Linux_logo.jpg | jp2a -
Convertir imágenes que no sean JPG/JPEG
¿Qué sucede si tiene un tipo de imagen diferente al JPG/JPEG? En ese caso, puede usar Convertir de ImageMagick herramienta como a continuación. ImageMagick está disponible en los repositorios predeterminados de muchas distribuciones de Linux.
En Arch Linux y sus variantes como Manjaro Linux:
$ sudo pacman -S imagemagick
En Debian, Ubuntu, Linux Mint:
$ sudo apt install imagemagick
Después de instalar ImageMagick, ejecute el siguiente comando para convertir la imagen de formato PNG dada a formato Jpeg/Jpg y luego convertirla a formato ASCII:
$ convert arch.png jpg:- | jp2a -
Tenga en cuenta el símbolo de guión (-) al final.
Del mismo modo, puede simplemente convertir cualquier formato de imagen a JPEG/JPG y luego convertirlo nuevamente a formato ASCII.
Producir salida HTML estricta
Jp2a tiene una opción para producir una salida XHTML 1.0 estricta.
$ jp2a --size=50x30 --html arch.jpg --output=arch.html
Salida de muestra:
<?xml version='1.0' encoding='ISO-8859-1'?> <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'> <html xmlns='http://www.w3.org/1999/xhtml' lang='en' xml:lang='en'> <head> <title>jp2a converted image</title> <style type='text/css'> body { background-color: black; } .ascii { font-family: Courier; color: white; font-size:8pt; font-weight: bold; } </style> </head> <body> <div class='ascii'><pre> MNWNWNWWNWNWNMXMNWNWNWWNNXWNWXMXWNWNWNNWNWNWXMXWNW NWNWNWWWWNWNWNWNWNWNWWWWkkNWNWNWNWNWWWWWWNWNWNWNWN NWNWNWWWWWWNWNWNWNWNWWWKccKWNWNWNWNWWWWWWNWNWNWNWN NWNWNWWWWWWNWNWNWNWNWWNoccoNNWNWNWNWWWWWWNWNWNWNWN WNWNWWWWWWNWNWNWNWNWWWOcccckWNWNWNWNWWWWNWNWNWNWNW WNWNWWWWNWNWNWNWNWNWWXlcccccKNWNWNWNWWWWNWNWNWNWNW WNWWWWWWWWNWNWNWNWWWNdcccccclNWNWNWWWWWWWWNWNWNWNW NWNWNWWWWNWNWNWNWNWNOccccccccxNWNWNWWWWWWNWNWNWNWN NWNWNWWWWWWNWNWNWNWXlccccccccc0WNWNWWWWWWNWNWNWNWN WWWWWWWWWWWWWWWWWWNNkccccccccclXWWWWWWWWWWWWWWWWWW WNWNWWWWNWNWNWNWNWxlkKdccccccccoNNWNWWWWNWNWNWNWNW WNWNWWWWWWNWNWNWNOccccddocccccccxNWNWWWWNWNWNWNWNW WWWWWWWWWWWWWWWWKccccccccccccccccOWWWWWWWWWWWWWWWW NWNWNWWWWNWNWNWXlcccccccccccccccccKWWWWWWNWNWNWNWN NWNWNWWWWNWNWNNdcccccccccccccccccclXNWWWWNWNWNWNWN WWWWWWWWWWWWWWxccccccccccccccccccccdNWWWWWWWWWWWWW WNWNWWWWWWNWNOccccccccccccccccccccccxNWWNWNWNWNWNW WNWNWWWWWWNWKccccccccclx0OklcccccccccOWWNWNWNWNWNW WWWWWWWWWWWXlccccccccoXWWWWXdccccccccc0WWWWWWWWWWW NWNWNWWWWNNocccccccclNWWNWNWNocccccccclXWNWNWNWNWN NWNWNWWWWNdcccccccccOWWWNWNWNKcccccccccoNNWNWNWNWN WWWWWWWWNxccccccccccXWWWWWWWWNlcccccldlcoNWWWWWWWW WNWNWWWWOcccccccccccNWWWWNWNWNocccccccx0O0NWNWNWNW WNWNWWW0ccccccccccccXWWWWNWNWNlcccccccccdKNWNWNWNW NWNWNWKlcccccccccodkXWWWNWNWNNkdocccccccccdKWNWNWN NWNWNXlccccccdk0NNWNWWWWNWNWNWNWNN0kdcccccclXNWMMM NWNWNoccclx0NNWNWNWNWWWWNWNWNWNWNWNWWN0xlccclXWMMM WNWNdclkKNNWNWNWNWNWWWWWWNWNWNWNWNWWWWWWNKklcdNWMW WNWkxKNWWWNWNWNWNWNWWWWWWNWNWNWNWNWNWWWWNWNWKxkWNW NWXNNWWNWNWNWNWNWNWNWWNWNWNWNWNWNWNWNWWNWNWNWNNNWN </pre> </div> </body> </html>