GNU/Linux >> Linux Esercitazione >  >> Linux

Come convertire le immagini in formato ASCII in Linux

Questa guida insegna come convertire le immagini in formato ASCII in Linux. Ai fini di questa attività, utilizzeremo Jp2a . Jp2a è uno strumento da riga di comando che ti aiuta a convertire le immagini date in formato carattere ascii. Puoi specificare una combinazione di file immagine e URL e lo strumento Jp2a li convertirà tutti in caratteri ascii all'istante. Jp2a ha molte opzioni utili per manipolare le immagini. Ecco alcune cose che Jp2a può fare per te!

  • leggere le immagini dallo standard input
  • imposta la modalità sfondo su chiaro o scuro
  • imposta il confine,
  • imposta l'altezza e la larghezza dell'output,
  • imposta una dimensione personalizzata per le immagini di output,
  • capovolgi l'immagine di output verticalmente o orizzontalmente,
  • utilizza caratteri specifici durante la produzione dell'immagine ASCII di output,
  • inverti le immagini,
  • scarica le immagini dal Web e convertile
  • E molti.

Installa Jp2a in Linux

Jp2a è incluso in molte distribuzioni Linux ed è disponibile nei repository predefiniti.

Per installare Jp2a su Arch Linux e le sue varianti come Manjaro Linux, esegui:

$ sudo pacman -S jp2a

Su Debian, Ubuntu, Linux nuovo:

$ sudo apt install jp2a

Su Fedora:

$ sudo dnf install jp2a

Su CentOS/RHEL:

$ sudo yum install epel-release
$ sudo yum install jp2a

Su openSUSE:

$ sudo zypper install jp2a

Convertire le immagini in formato ASCII in Linux

Per convertire una determinata immagine JPG/JPEG in formato carattere ASCII, esegui semplicemente:

jp2a <path-to-image>

Esempio:

$ jp2a arch.jpg

Risultato di esempio:

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

Semplice, vero?

Puoi specificare più immagini e convertirle tutte in una volta sola.

$ jp2a img1.jpg img2.jpg

Questo comando converte le immagini date in ASCII e le visualizzerà una dopo l'altra.

Come ho già detto, Jp2a ha molte opzioni e flag per manipolare le immagini di input. Vediamo l'utilizzo di alcune opzioni con esempi.

Leggi le immagini dallo standard input

Per leggere le immagini dallo standard input e stampare i caratteri ASCII nello standard output, utilizzare pipe comando come di seguito.

$ cat arch.jpg | jp2a -

Presta attenzione al simbolo del trattino (-) alla fine.

Scrivi l'output su un file

Invece di visualizzare l'immagine ASCII nell'output standard, puoi scriverla su un file come mostrato di seguito.

$ jp2a arch.jpg --output=arch_ascii

Questo comando aggiungerà l'output ASCII in un file di testo chiamato arch_ascii . Puoi visualizzare il contenuto del file usando il comando "cat":

$ cat arch_ascii

Stampa immagini con altezza/larghezza specifica

Puoi convertire l'immagine in formato ASCII e stamparla con un'altezza o una larghezza specifica a tua scelta.

Per stampare utilizzando un'altezza specifica, ad esempio 30 righe, esegui semplicemente:

$ jp2a --height=30 arch.jpg

La larghezza verrà calcolata automaticamente in base alle proporzioni dell'immagine.

Allo stesso modo, per specificare la larghezza, eseguire:

$ jp2a --weight=30 arch.jpg

Puoi anche combinare entrambe le opzioni e stampare l'immagine.

$ jp2a --height=20 --width=40 arch.jpg

Stampa immagini in formato ASCII in X colonne e Y righe

Il comando seguente converte il file immagine specificato in ASCII e stampa l'output in 50 colonne e 30 righe.

$ jp2a --size=50x30 arch.jpg

Risultato di esempio:

Imposta il bordo sui caratteri ASCII

Se vuoi impostare un bordo attorno all'output ASCII, usa bordo opzione come di seguito:

$ jp2a --border --size=50x30 arch.jpg

Risultato di esempio:

Stampa immagini su sfondo chiaro/scuro

Jp2a ha opzioni per stampare i caratteri ASCII su sfondi chiari e scuri.

$ jp2a --background=light arch.jpg
$ jp2a --background=dark arch.jpg

Stampa immagini in formato ASCII su sfondo scuro

Se visualizzi un'immagine con sfondo bianco, ma stai utilizzando un display con caratteri chiari su sfondo scuro, devi invertire l'immagine utilizzando inverti bandiera.

$ jp2a arch.jpg --invert

Risultato di esempio:

  .  .  .  .  .  .  .  .               .  .  .  .  .  .  .  .  .            .  .  
                                        :;                                        
                                       ,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,      
     ;:'.                                                                .';;     
    .                                                                        .

Stampa immagini solo con caratteri specifici

Invece di stampare l'immagine con i caratteri predefiniti, puoi utilizzare alcuni caratteri personalizzati a tua scelta.

$ jp2a --size=50x30 --chars=" [email protected]@" arch.jpg

Scarica le immagini direttamente da Internet

Non solo immagini locali, è possibile scaricare direttamente le immagini da Internet e convertirle in ASCII.

Per scaricare le immagini direttamente da Internet e stamparle in formato ASCII, eseguire:

$ jp2a --size=50x30 https://upload.wikimedia.org/wikipedia/commons/d/dd/Linux_logo.jpg

In alternativa, usa arricciatura o wget programmi per scaricare le immagini e jp2a leggerà l'immagine dallo standard input come di seguito.

$ curl -s https://upload.wikimedia.org/wikipedia/commons/d/dd/Linux_logo.jpg | jp2a -

Convertire immagini diverse da JPG/JPEG

Cosa succede se hai un tipo di immagine diverso da JPG/JPEG? In tal caso, puoi utilizzare Converti di ImageMagick strumento come di seguito. ImageMagick è disponibile nei repository predefiniti di molte distribuzioni Linux.

Su Arch Linux e le sue varianti come Manjaro Linux:

$ sudo pacman -S imagemagick

Su Debian, Ubuntu, Linux Mint:

$ sudo apt install imagemagick

Dopo aver installato ImageMagick, eseguire il comando seguente per convertire l'immagine in formato PNG data in formato Jpeg/Jpg e quindi convertirla in formato ASCII:

$ convert arch.png jpg:- | jp2a -

Si prega di notare il simbolo del trattino (-) alla fine.

Allo stesso modo, puoi semplicemente convertire qualsiasi formato immagine in JPEG/JPG e poi convertirlo di nuovo in formato ASCII.

Produci output HTML rigoroso

Jp2a ha un'opzione per produrre un output XHTML 1.0 rigoroso.

$ jp2a --size=50x30 --html arch.jpg --output=arch.html

Risultato di esempio:

<?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>

Questo può essere utile quando vuoi visualizzare i caratteri ASCII di un'immagine in un browser web.

Sono disponibili alcune altre opzioni come capovolgere le immagini in direzione X e Y, impostare il peso di conversione da RGB a scala di grigi, utilizzare i colori ANSI nell'output, utilizzare l'altezza/larghezza del display del terminale ecc. Guarda la sezione della guida o le pagine man per imparare a usali.

Per assistenza, esegui:

$ jp2a --help
$ man jp2a

Lettura consigliata:


Linux
  1. Come convertire i pacchetti DEB in pacchetti Arch Linux

  2. Come gestire i registri dei container Linux

  3. Come convertire più immagini in PDF in Ubuntu Linux

  4. Come installare ImageMagick su Amazon Linux

  5. Come convertire i caratteri esadecimali in ASCII nella shell di Linux?

Come migrare le VM Virtualbox in VM KVM in Linux

Come convertire i file PDF in formato EPUB utilizzando Calibre in Linux

Come convertire in batch le immagini PNG in formato JPG in Linux

Come convertire xlsx in formato CSV in Linux

Come convertire una pagina Web in PDF in Linux

Come convertire PDF in immagini PNG e viceversa in Linux