GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengonversi Gambar Menjadi Format ASCII Di Linux

Panduan ini mengajarkan cara mengonversi gambar ke format ASCII di Linux. Untuk tujuan tugas ini, kita akan menggunakan Jp2a . Jp2a adalah alat baris perintah yang membantu Anda mengubah gambar yang diberikan ke dalam format karakter ascii. Anda dapat menentukan campuran file gambar dan URL dan alat Jp2a akan mengubah semuanya menjadi karakter ascii secara instan. Jp2a memiliki banyak opsi yang berguna untuk memanipulasi gambar. Berikut adalah beberapa hal yang dapat dilakukan Jp2a untuk Anda!

  • membaca gambar dari input standar,
  • setel mode latar belakang sebagai terang atau gelap,
  • setel batas,
  • mengatur tinggi dan lebar keluaran,
  • menetapkan dimensi khusus untuk gambar keluaran,
  • membalik gambar keluaran secara vertikal atau horizontal,
  • gunakan karakter tertentu saat menghasilkan gambar ASCII keluaran,
  • membalikkan gambar,
  • unduh gambar dari web dan konversikan,
  • Dan banyak lagi.

Instal Jp2a di Linux

Jp2a dikemas untuk banyak distribusi Linux dan tersedia di repositori default.

Untuk menginstal Jp2a di Arch Linux dan variannya seperti Manjaro Linux, jalankan:

$ sudo pacman -S jp2a

Di Debian, Ubuntu, Linux mint:

$ sudo apt install jp2a

Di Fedora:

$ sudo dnf install jp2a

Di CentOS / RHEL:

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

Di openSUSE:

$ sudo zypper install jp2a

Mengonversi Gambar Menjadi Format ASCII Di Linux

Untuk mengonversi gambar JPG/JPEG yang diberikan ke format karakter ASCII, cukup jalankan:

jp2a <path-to-image>

Contoh:

$ jp2a arch.jpg

Contoh keluaran:

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

Sederhana, bukan?

Anda dapat menentukan beberapa gambar dan mengonversi semuanya sekaligus.

$ jp2a img1.jpg img2.jpg

Perintah ini mengubah gambar yang diberikan menjadi ASCII dan akan menampilkannya satu demi satu.

Seperti yang sudah saya katakan, Jp2a memiliki banyak opsi dan flag untuk memanipulasi gambar input. Mari kita lihat penggunaan beberapa opsi dengan contoh.

Baca gambar dari input standar

Untuk membaca gambar dari input standar dan mencetak karakter ASCII dalam output standar, gunakan pipa perintah seperti di bawah ini.

$ cat arch.jpg | jp2a -

Perhatikan simbol tanda hubung (-) di akhir.

Menulis output ke file

Alih-alih menampilkan gambar ASCII dalam output standar, Anda dapat menulisnya ke file seperti yang ditunjukkan di bawah ini.

$ jp2a arch.jpg --output=arch_ascii

Perintah ini akan menambahkan output ASCII dalam file teks bernama arch_ascii . Anda dapat melihat konten file menggunakan perintah "cat":

$ cat arch_ascii

Mencetak gambar dengan tinggi/lebar tertentu

Anda dapat mengonversi gambar ke format ASCII dan mencetaknya dengan tinggi atau lebar tertentu pilihan Anda.

Untuk mencetak menggunakan ketinggian tertentu, misalnya 30 baris, cukup lakukan:

$ jp2a --height=30 arch.jpg

Lebar akan dihitung secara otomatis dari rasio aspek gambar.

Demikian pula, untuk menentukan lebar, jalankan:

$ jp2a --weight=30 arch.jpg

Anda juga dapat menggabungkan kedua opsi dan mencetak gambar.

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

Mencetak gambar dalam format ASCII dalam kolom X dan baris Y

Perintah berikut mengonversi file gambar yang diberikan menjadi ASCII dan mencetak output dalam 50 kolom dan 30 baris.

$ jp2a --size=50x30 arch.jpg

Contoh keluaran:

Setel batas ke karakter ASCII

Jika Anda ingin menyetel batas di sekitar keluaran ASCII, gunakan batas pilihan seperti di bawah ini:

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

Contoh keluaran:

Mencetak gambar dalam latar terang/gelap

Jp2a memiliki opsi untuk mencetak karakter ASCII dalam latar belakang terang dan gelap.

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

Mencetak gambar ke dalam format ASCII dengan latar belakang gelap

Jika Anda melihat gambar dengan latar belakang putih, tetapi Anda menggunakan tampilan dengan karakter terang di latar belakang gelap, Anda harus membalikkan gambar menggunakan balik bendera.

$ jp2a arch.jpg --invert

Contoh keluaran:

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

Mencetak gambar dengan karakter tertentu saja

Alih-alih mencetak gambar dalam karakter default, Anda dapat menggunakan beberapa karakter khusus pilihan Anda.

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

Unduh gambar langsung dari Internet

Tidak hanya gambar lokal, Anda dapat langsung mengunduh gambar dari Internet dan mengubahnya menjadi ASCII.

Untuk mengunduh gambar langsung dari Internet dan mencetaknya dalam format ASCII, jalankan:

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

Atau, gunakan curl atau wget program untuk mengunduh gambar dan jp2a akan membaca gambar dari input standar seperti di bawah ini.

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

Mengonversi gambar selain JPG/JPEG

Bagaimana jika Anda memiliki jenis gambar yang berbeda selain JPG/JPEG? Dalam hal ini, Anda dapat menggunakan Konversi ImageMagick alat seperti di bawah ini. ImageMagick tersedia di repositori default dari banyak distribusi Linux.

Di Arch Linux dan variannya seperti Manjaro Linux:

$ sudo pacman -S imagemagick

Di Debian, Ubuntu, Linux Mint:

$ sudo apt install imagemagick

Setelah menginstal ImageMagick, jalankan perintah berikut untuk mengonversi gambar berformat PNG yang diberikan ke format Jpeg/Jpg dan kemudian mengonversinya ke format ASCII:

$ convert arch.png jpg:- | jp2a -

Harap perhatikan simbol tanda hubung (-) di akhir.

Demikian pula, Anda dapat dengan mudah mengonversi format gambar apa pun menjadi JPEG/JPG dan kemudian mengonversinya lagi ke format ASCII.

Menghasilkan keluaran HTML yang ketat

Jp2a memiliki opsi untuk menghasilkan keluaran XHTML 1.0 yang ketat.

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

Contoh keluaran:

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

Ini dapat berguna ketika Anda ingin melihat karakter ASCII dari sebuah gambar di browser web.

Ada beberapa opsi lagi yang tersedia seperti membalik gambar dalam arah X dan Y, mengatur bobot konversi RGB ke skala abu-abu, menggunakan warna ANSI dalam output, menggunakan tinggi/lebar tampilan terminal, dll. Lihat bagian bantuan atau halaman manual untuk mempelajarinya menggunakannya.

Untuk bantuan, jalankan:

$ jp2a --help
$ man jp2a

Bacaan yang disarankan:


Linux
  1. Cara Mengonversi Paket DEB Menjadi Paket Arch Linux

  2. Cara Mengonversi Banyak Gambar ke PDF di Ubuntu Linux

  3. Bagaimana cara mengubah karakter hex ke ASCII di shell Linux?

  1. Bagaimana mengelola pendaftar penampung Linux

  2. Bagaimana cara mengubah PDF menjadi JPG dengan baris perintah di Linux?

  3. Bagaimana cara mengonversi image disk Linux menjadi file jarang?

  1. Ubah instalasi Windows Anda menjadi VM di Linux

  2. Cara mempartisi dan memformat drive di Linux

  3. Cara Menginstal ImageMagick di Amazon Linux