このガイドでは、Linuxで画像をASCII形式に変換する方法について説明します。このタスクでは、 Jp2aを使用します 。 Jp2aは、指定された画像をASCII文字形式に変換するのに役立つコマンドラインツールです。画像ファイルとURLの組み合わせを指定でき、Jp2aツールはそれらすべてを即座にASCII文字に変換します。 Jp2aには、画像を操作するための多くの便利なオプションがあります。 Jp2aでできることがいくつかあります!
- 標準入力から画像を読み取る
- 背景モードを明るいまたは暗いに設定します
- 境界線を設定
- 出力の高さと幅を設定します
- 出力画像のカスタムサイズを設定します
- 出力画像を垂直または水平に反転します
- 出力ASCII画像を生成するときに特定の文字を使用します
- 画像を反転
- ウェブから画像をダウンロードして変換します
- そしてたくさん。
LinuxにJp2aをインストールする
Jp2aは多くのLinuxディストリビューション用にパッケージ化されており、デフォルトのリポジトリで利用できます。
ArchLinuxおよびManjaroLinuxなどのバリアントにJp2aをインストールするには、次のコマンドを実行します。
$ sudo pacman -S jp2a
Debian、Ubuntu、Linux mintの場合:
$ sudo apt install jp2a
Fedoraの場合:
$ sudo dnf install jp2a
CentOS / RHELの場合:
$ sudo yum install epel-release
$ sudo yum install jp2a
openSUSEの場合:
$ sudo zypper install jp2a
Linuxで画像をASCII形式に変換
特定のJPG/JPEG画像をASCII文字形式に変換するには、次のコマンドを実行します。
jp2a
例:
$ jp2a arch.jpg
出力例:
<前> MWXMWXWWXWWXWWXWWXWMXWMXNMNNMNNMNNMNNMNXWNXMWXWWXWWXWWXWMXWMXNMXNMNNMNNMNNMNXMNXMWNWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWdxWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNWNNWNkccxWWNWWNWWNWWNWWNWWNNWNNWNNWNNWNNWNNWNNWWWWNWWNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNW0ccccOWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNWWNWWNWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWKlccccc0WNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNWNXlccccccl0WWNWWNWWNWWNWWNNWNNWNNWNNWNNWNNWNNWWWWNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNocccccccclXWNWWNWWNWWNWWNWWNNWNNWNNWNNWNNWWNWWNWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNdccccccccccoXWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNkccccccccccccoXWWNWWNWWNWWNNWNNWNNWNNWNNWNNWNNWWWWNWWNWWNWWNWWNWWNWWNWWNWWNWWNNWNkccccccccccccccdNWNWWNWWNWWNWWNWWNNWNNWNNWNNWWNWWNWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNkccccccccccccccccdNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWXxccccccccccccccccdXWWNWWNWWNNWNNWNNWNNWNNWNNWNNWWWWNWWNWWNWW NWWNWWNWWNWWNWWNNWNOoOXNklccccccccccccccdNWNWWNWWNWWNNWNNWNNWNNWNNWWNWWNWWNNWNNWNNWNNWNNWWNWWNWWNWWNOccccok0kdcccccccccccccoXWNNWWNWWNWWNWWNWWNWWNWWNWWNNWWNWWNWWNWWNWWNWWNWWNWWNWWNNOcccccccccodoccccccccccccoXWWNWWNWWNNWNNWNNWNNWNNWNNWWWWNWWNWWNWWNWWNWWNWWNWWNWWNkccccccccccccccccccccccccccoNWNWWNWWNWWNNWNNWNNWNNWWNWWNWWNWWNNWNNWNNWNNWWNWWNWWNkccccccccccccccccccccccccccccoXWWNWWNWWNWWNWWNWWNWWNWWNNWWNWWNWWNWWNWWNWWNWWNWWNNkccccccccccccccccccccccccccccccoKWWNWWNNWNNWNNWNNWNNWWNWWWWNWWNWWNWWNWWNWWNWWNWWNxcccccccccccccccccccccccccccccccclXWNNWNNWNNWNNWNNWNNWNNWWNWWNNWNNWNNWNNWNNWWNWWXdcccccccccccccccccccccccccccccccccclKWWNWWNWWNWWNWWNWWNWWNNWWNWWNWWNWWNWWNWWNWWNNdccccccccccccccccccccccccccccccccccccl0NWNNWNNWNNWNNWNNWNNWWWWNWWNWWNWWNWWNWWNWWXoccccccccccccccccdx0Oxdlcccccccccccccccl0WNWWNNWNNWNNWNNWWNWWNWWNWWNNWNNWNNWNNWWKlcccccccccccccclkXWWNWWNNOlcccccccccccccccOWWNWWNWWNWWNWWNWWNNWWNWWNWWNWWNWWNWWNKlcccccccccccccclKNWWNWWNWWNXocccccccccccccccONWNNWNNWNNWNNWWNWWWWNWWNWWNWWNWWNWW0lcccccccc cccccclXNNWNNWWNWWNWNoccccccccccccccckWNNWNNWNNWNNWNNWWNWWNNWNNWNNWNNWNkccccccccccccccccONWWNWWNWWNNWNNXccccccccccccccccdNWNWWNWWNWWNWWNNWWNWWNWWNWWNWWNkcccccccccccccccclNWNNWWNWWNWWNWWNdcccccccccloolcccdNWNNWNNWNNWWNWWWWNWWNWWNWWNWWxcccccccccccccccccoNWNNWWNWWNWWNWWNkcccccccccccoxO0OddNNNWNNWNNWNNWWNWWNNWNNWNNWXdccccccccccccccccccoWNWWNWWNWWNNWNNWkcccccccccccccclxKNXWWNWWNWWNWWNNWWNWWNWWNWWXoccccccccccccccccccccXWNNWWNWWNWWNWWNdcccccccccccccccccoOXNWNNWNNWWNWWWWNWWNWWNWXocccccccccccccccldxk00XWNNWNNWWNWWNWWNK0kxdlcccccccccccccccxKNNWNNWNNWWNWWNNWNNWKlccccccccccldxO0NWNWWNWWNWWNWWNWWNNWNNWNNWNNWXK0xdlccccccccccl0WNWWMMMMMWWNWWNWWOccccccccoxOXNWNWWNWWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNKOxoccccccccOWNWMMMMMWWNWWNWOcccccox0NNWWNWWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNNWNNN0xoccccckNNMMMMMNWWNNWkccok0XNWNNWWNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNNWNNWNNWWNWWNWWNWWNN0xocckWNWWNWWWNWNxdOXWWNWWNWWNWWNWWNWWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWWNWWNWWNNWNNWNXOxxNNNWWNWWNXNNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWWNWWNWW NNWNNWNNWNNWNNWNNWWNWWNWWNWWNWWNWNXWWNN
簡単ですね。
複数の画像を指定して、一度にすべてを変換できます。
$ jp2a img1.jpg img2.jpg
このコマンドは、指定された画像をASCIIに変換し、それらを次々に表示します。
すでに述べたように、Jp2aには入力画像を操作するための多くのオプションとフラグがあります。いくつかのオプションの使用法を例とともに見てみましょう。
標準入力から画像を読み取る
標準入力から画像を読み取り、標準出力でASCII文字を印刷するには、パイプstrong>を使用します。 以下のようなコマンド。
$ cat arch.jpg | jp2a-
最後のハイフン記号(-)に注意してください。
出力をファイルに書き込む
標準出力にASCII画像を表示する代わりに、以下に示すようにファイルに書き込むことができます。
$ jp2a arch.jpg --output =arch_ascii
このコマンドは、ASCII出力を arch_asciiというテキストファイルに追加します。 。 「cat」コマンドを使用してファイルの内容を表示できます:
$ cat arch_ascii
特定の高さ/幅で画像を印刷する
画像をASCII形式に変換し、選択した特定の高さまたは幅で印刷できます。
特定の高さ(たとえば30行)を使用して印刷するには、次のようにします。
$ jp2a --height =30 arch.jpg
幅は画像のアスペクト比から自動的に計算されます。
同様に、幅を指定するには、次のコマンドを実行します。
$ jp2a --weight =30 arch.jpg
両方のオプションを組み合わせて画像を印刷することもできます。
$ jp2a --height =20 --width =40 arch.jpg
画像をASCII形式でX列とY行に印刷する
次のコマンドは、指定された画像ファイルをASCIIに変換し、出力を50列30行で出力します。
$ jp2a --size =50x30 arch.jpg
出力例:
境界線をASCII文字に設定
ASCII出力の周囲に境界線を設定する場合は、境界線を使用します 以下のようなオプション:
$ jp2a -border --size =50x30 arch.jpg
出力例:
明るい/暗い背景で画像を印刷する
Jp2aには、明るい背景と暗い背景でASCII文字を印刷するオプションがあります。
$ jp2a --background =light arch.jpg
$ jp2a --background =dark arch.jpg
暗い背景でASCII形式に画像を印刷する
背景が白い画像を表示しているが、暗い背景に明るい文字が表示されているディスプレイを使用している場合は、反転を使用して画像を反転する必要があります。 フラグ。
$ jp2a arch.jpg --invert
出力例:
。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 :; 、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、oooooooooo 。 .coooooooooooooooooooo。 :oooooooooooooooooc'。 .coooooooooooooool:;、... ..、;:looooooooooooooo;。 .looooooooool:;'。 ...;:looooooooool。 'ooooooooc;'。 。';coooooooo''oooooc;。 。;cooooo、、ooc、..。; coo、;:'。 。';; 。 。
特定の文字のみで画像を印刷する
デフォルトの文字で画像を印刷する代わりに、選択したカスタム文字を使用できます。
$ jp2a --size =50x30 --chars ="[email protected] @" arch.jpg
インターネットから直接画像をダウンロード
ローカル画像だけでなく、インターネットから画像を直接ダウンロードしてASCIIに変換することもできます。
インターネットから直接画像をダウンロードしてASCII形式で印刷するには、次のコマンドを実行します。
$ jp2a --size =50x30 https://upload.wikimedia.org/wikipedia/commons/d/dd/Linux_logo.jpg
または、カールを使用します またはwget 画像をダウンロードするプログラムとjp2aは、以下のような標準入力から画像を読み取ります。
$ curl -s https://upload.wikimedia.org/wikipedia/commons/d/dd/Linux_logo.jpg | jp2a-
JPG/JPEG以外の画像を変換する
JPG / JPEG以外の画像タイプがある場合はどうなりますか?その場合は、ImageMagickの変換を使用できます 以下のようなツール。 ImageMagickは、多くのLinuxディストリビューションのデフォルトのリポジトリで利用できます。
ArchLinuxとManjaroLinuxのようなその変種について:
$ sudo pacman -S imagemagick
Debian、Ubuntu、Linux Mintの場合:
$ sudo apt install imagemagick
ImageMagickをインストールした後、次のコマンドを実行して、指定されたPNG形式の画像をJpeg / Jpg形式に変換してから、ASCII形式に変換します。
$ convert arch.png jpg:-| jp2a-
末尾のハイフン記号(-)に注意してください。
同様に、任意の画像形式をJPEG / JPGに変換してから、再度ASCII形式に変換するだけです。
厳密なHTML出力を生成する
Jp2aには、厳密なXHTML1.0出力を生成するオプションがあります。
$ jp2a --size =50x30 -html arch.jpg --output =arch.html
出力例:
<?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'>jp2a変換された画像 body {background-color:black;}。ascii {font-family:Courier;色:白; font-size:8pt;フォント重量:太字;} スタイル> このMNWNWNWWNWNWNMXMNWNWNWWNNXWNWXMXWNWNWNNWNWNWXMXWNWNWNWNWWWWNWNWNWNWNWNWWWWkkNWNWNWNWNWWWWWWNWNWNWNWNNWNWNWWWWWWNWNWNWNWNWWWKccKWNWNWNWNWWWWWWNWNWNWNWNNWNWNWWWWWWNWNWNWNWNWWNoccoNNWNWNWNWWWWWWNWNWNWNWNWNWNWWWWWWNWNWNWNWNWWWOcccckWNWNWNWNWWWWNWNWNWNWNWWNWNWWWWNWNWNWNWNWNWWXlcccccKNWNWNWNWWWWNWNWNWNWNWWNWWWWWWWWNWNWNWNWWWNdcccccclNWNWNWWWWWWWWNWNWNWNWNWNWNWWWWNWNWNWNWNWNOccccccccxNWNWNWWWWWWNWNWNWNWNNWNWNWWWWWWNWNWNWNWXlccccccccc0WNWNWWWWWWNWNWNWNWNWWWWWWWWWWWWWWWWWWNNkccccccccclXWWWWWWWWWWWWWWWWWWWNWNWWWWNWNWNWNWNWxlkKdccccccccoNNWNWWWWNWNWNWNWNWWNWNWWWWWWNWNWNWNOccccddocccccccxNWNWWWWNWNWNWNWNWWWWWWWWWWWWWWWWWKccccccccccccccccOWWWWWWWWWWWWWWWWNWNWNWWWWNWNWNWXlcccccccccccccccccKWWWWWWNWNWNWNWNNWNWNWWWWNWNWNNdcccccccccccccccccclXNWWWWNWNWNWNWNWWWWWWWWWWWWWWxccccccccccccccccccccdNWWWWWWWWWWWWWWNWNWWWWWWNWNOccccccccccccccccccccccxNWWNWNWNWNWNWWNWNWWWWWWNWKccccccccclx0OklcccccccccOWWNWNWNWNWNWWWWWWWWWWWWXlccccccccoXWWWWXdccccccc cc0WWWWWWWWWWWNWNWNWWWWNNocccccccclNWWNWNWNocccccccclXWNWNWNWNWNNWNWNWWWWNdcccccccccOWWWNWNWNKcccccccccoNNWNWNWNWNWWWWWWWWNxccccccccccXWWWWWWWWNlcccccldlcoNWWWWWWWWWNWNWWWWOcccccccccccNWWWWNWNWNocccccccx0O0NWNWNWNWWNWNWWW0ccccccccccccXWWWWNWNWNlcccccccccdKNWNWNWNWNWNWNWKlcccccccccodkXWWWNWNWNNkdocccccccccdKWNWNWNNWNWNXlccccccdk0NNWNWWWWNWNWNWNWNN0kdcccccclXNWMMMNWNWNoccclx0NNWNWNWNWWWWNWNWNWNWNWNWWN0xlccclXWMMMWNWNdclkKNNWNWNWNWNWWWWWWNWNWNWNWNWWWWWWNKklcdNWMWWNWkxKNWWWNWNWNWNWNWWWWWWNWNWNWNWNWNWWWWNWNWKxkWNWNWXNNWWNWNWNWNWNWNWNWWNWNWNWNWNWNWNWNWWNWNWNWNNNWN
これは、画像のASCII文字をWebブラウザで表示する場合に便利です。
画像をXおよびY方向に反転する、RGBをグレースケール変換の重みに設定する、出力にANSI色を使用する、端末の表示の高さ/幅を使用するなど、利用可能なオプションがさらにいくつかあります。それらを使用してください。
ヘルプが必要な場合は、次を実行してください:
$ jp2a --help
$ man jp2a
推奨される読み物:
- Linuxで画像からモンタージュを作成する方法