kumilog.net

データ分析やプログラミングの話などを書いています。

簡単・便利!画像を扱うコマンド

サーバ上の画像を扱うとき、毎回ローカルにダウンロードするのは面倒ですよね。そこで、コマンドで扱う方法をいくつか紹介します。

画像を表示する

iTerm2用のコマンドですが、imgcatが便利です。インストールはこちらのコードをパスが通るところに置くだけです。

$ imgcat Lenna

ターミナル上に画像が表示されます。

f:id:xkumiyu:20180102171625p:plain:w400

私は特にChainerの学習結果(loss.pngとか)の確認など頻繁に使います。シンプルで便利です。

サイズと拡張子を確認する

画像のサイズや拡張子はfileコマンドを使えば、すぐに分かります。たまに拡張子のないデータと遭遇するときがあるので役に立ちます。

DeepLearningでは3チャンネルを想定していることが多いので、PNG形式でαチャンネルがある場合は、注意が必要です。

$ file Lenna
Lenna: PNG image data, 512 x 512, 8-bit/color RGB, non-interlaced

ImageMagickidentifyでも同じことはできますが、fileは画像以外にも使えるのでfileのみを覚えておくと良いと思います。

$ identify Lenna
Lenna PNG 512x512 512x512+0+0 8-bit sRGB 473831B 0.000u 0:00.009

ちなみにMacの場合、ImageMagickはbrewでインストールできます。

brew install imagemagick

サイズを変更する

convert-resizeオプションでできます。

# 256(幅)x256(高さ) に変更
$ convert -resize 256x256 Lenna.png Lenna-small.png

# 256(幅)x*** に変更、高さは元の比率を保って自動で変更
$ convert -resize 256x Lenna.png Lenna-small.png

# 元画像の 50% のサイズに変更
$ convert -resize 50% Lenna.png Lenna-small.png

ちょっとした変更では便利です。