LoginSignup
3
3

More than 3 years have passed since last update.

ImageMagickを使って色弱シミュレートを複数画像に適用してみた

Posted at

以前、「色弱シミュレーター機能の使えるアプリを探してみた」で色弱シミュレーターできるアプリを探したことがあったのですが、ふと複数の画像をまとめてできないかな?と思ったので試してみました。

環境

環境は以下のとおりです。

  • Lubuntu 16.04
  • ImageMagick 6.8.9-9 Q16

どうやって?

http://www.inf.ufrgs.br/~oliveira/pubs_files/CVD_Simulation/CVD_Simulation.html で値が公開されているので、その値を ImageMagick の -color-matrix オプションに指定すれば変換することができます。

複数ファイルへの適用は、ImageMagick の mogrify コマンドを使います。

まずはひとつのファイル

使えば P型で 1.0 の場合なら以下のようなコマンドで変換できます。 0.152286 から 1.051998 までの 9 つの数字は、ホームページからコピペしたものとなります。

P型1.0の場合
convert sample.png -quality 100 -colorspace RGB -color-matrix '
0.152286    1.052583    -0.204868
0.114503    0.786281    0.099216
-0.003882   -0.048116   1.051998
' sample-p.png
D型1.0の場合
convert sample.png -quality 100 -colorspace RGB -color-matrix '
0.367322    0.860646    -0.227968
0.280085    0.672501    0.047413
-0.011820   0.042940    0.968881
' sample-d.png
T型1.0の場合
convert sample.png -quality 100 -colorspace RGB -color-matrix '
1.255528    -0.076749   -0.178779
-0.078411   0.930809    0.147602
0.004733    0.691367    0.303900
' sample-t.png

ちなみにファイルがひとつの場合、以下のようにすれば結果を保存することなく表示だけできます。

P型1.0の場合(表示のみ)
convert sample.png -quality 100 -colorspace RGB -color-matrix '
0.152286    1.052583    -0.204868
0.114503    0.786281    0.099216
-0.003882   -0.048116   1.051998
' png:- | display png:-

つづけて複数のファイル

まとめて変換したい場合は、 mogrify コマンドが使えます。以下はフォルダ内の全 PNG ファイルを変換して out-p、out-d、out-t フォルダに保存する例です。

P型1.0の場合(一括変換)
mkdir out-p
mogrify -path out-p -quality 100 -colorspace RGB -color-matrix '
0.152286    1.052583    -0.204868
0.114503    0.786281    0.099216
-0.003882   -0.048116   1.051998
' *.png
D型1.0の場合(一括変換)
mkdir out-d
mogrify -path out-d -quality 100 -colorspace RGB -color-matrix '
0.367322    0.860646    -0.227968
0.280085    0.672501    0.047413
-0.011820   0.042940    0.968881
' *.png
T型1.0の場合(一括変換)
mkdir out-t
mogrify -path out-t -quality 100 -colorspace RGB -color-matrix '
1.255528    -0.076749   -0.178779
-0.078411   0.930809    0.147602
0.004733    0.691367    0.303900
' *.png

結果を並べて確認

montage コマンド を使うと複数の画像ファイルを並べてまとめたものをひとつのファイルにすることができます。以下は out-p フォルダ内の全 PNG ファイルを 4x4 に並べたファイルを、 out-p.png のファイル名で作成します。16 枚 (4x4=16) を超えている場合は、 out-p-0.png, out-p-1.png のようなファイル名になります。

まとめる
montage -tile 4x4 -quality 100 -geometry +1+1 out-p/*.png out-p.png

-resize パラメーターを使えば縮小してまとめて並べることもできます。

縮小してまとめる
montage -resize 25% -tile 4x4 -quality 100 -geometry +1+1 out-p/*.png out-p.png

結果を保存せずに表示だけ

結果を保存せずに表示だけ
montage -resize 25% -tile 4x4 -quality 100 -geometry +1+1 out-p/*.png png:- | display png:-
3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3