Linuxのコンソールから画像をアスキーアート化出来る『jp2a』

今回は、Linuxのコンソール上で画像をアスキーアート化して表示させることが出来るツール『jp2a』を紹介する。
検証としては、Ubuntu 14.04 LTSに本ツールをインストールし、以下の画像「test.jpg」を変換する。

うーん…ちょっと怖い…?

1.インストール

まずはインストール。以下のコマンドを実行する。

sudo apt-get install jp2a

2.コマンドの実行

インストール完了後、実際にコマンドを実行しよう。
まずは、画像補正用のオプションを何も付けずに実行!

jp2a test.jpg

うーん、ぱっと見あまり綺麗じゃないなぁ…
背景が白いので、「-i」オプションをつけてみよう。

jp2a -i test.jpg

「--colors」オプションで色もつけてみよう。

jp2a -i --colors test.jpg

(ミクダヨーさん、この色でいいのか…??)

また、「--output」オプションでAAを保存することも出来る。
以下では、「test1.txt」というものにAAを保存している。

jp2a -i --colors --output=test1.txt test.jpg

結構面白いコマンドだ。
他にも色々オプションがあるので、一応ヘルプだけ以下に記載する。

test@test-vm-ubuntu:~$ jp2a --help
jp2a 1.0.6
Copyright (C) 2006 Christian Stigen Larsen
Distributed under the GNU General Public License (GPL) v2.

Usage: jp2a [ options ] [ file(s) | URL(s) ]

Convert files or URLs from JPEG format to ASCII.

OPTIONS
- Read images from standard input.
--blue=N.N Set RGB to grayscale conversion weight, default is 0.1145
-b, --border Print a border around the output image.
--chars=... Select character palette used to paint the image.
Leftmost character corresponds to black pixel, right-
most to white. Minimum two characters must be specified.
--clear Clears screen before drawing each output image.
--colors Use ANSI colors in output.
-d, --debug Print additional debug information.
--fill When used with --color and/or --html, color each character's
background color.
-x, --flipx Flip image in X direction.
-y, --flipy Flip image in Y direction.
-f, --term-fit Use the largest image dimension that fits in your terminal
display with correct aspect ratio.
--term-height Use terminal display height.
--term-width Use terminal display width.
-z, --term-zoom Use terminal display dimension for output.
--grayscale Convert image to grayscale when using --html or --colors
--green=N.N Set RGB to grayscale conversion weight, default is 0.5866
--height=N Set output height, calculate width from aspect ratio.
-h, --help Print program help.
--html Produce strict XHTML 1.0 output.
--html-fill Same as --fill (will be phased out)
--html-fontsize=N Set fontsize to N pt, default is 4.
--html-no-bold Do not use bold characters with HTML output
--html-raw Output raw HTML codes, i.e. without the <head> section etc.
--html-title=... Set HTML output title
-i, --invert Invert output image. Use if your display has a dark
background.
--background=dark These are just mnemonics whether to use --invert
--background=light or not. If your console has light characters on
a dark background, use --background=dark.
--output=... Write output to file.
--red=N.N Set RGB to grayscale conversion weight, default 0.2989f.
--size=WxH Set output width and height.
-v, --verbose Verbose output.
-V, --version Print program version.
--width=N Set output width, calculate height from ratio.

The default mode is `jp2a --term-fit --background=dark'.
See the man-page for jp2a for more detailed help text.

Project homepage on http://jp2a.sf.net
Report bugs to <csl@sublevel3.org>

以上、『jp2a』コマンドでした。