画像ファイルのコマンド等
【概要】
コマンド等を用いて画像ファイルの確認や処理を行う手順を紹介する。ImageMagick の identify による画像情報の取得、ImageMagick 7 の magick による形式変換・拡大縮小・切り出し、curl による画像のダウンロードを扱う。
【目次】
1. 前準備
ImageMagick のインストール
- Windows での ImageMagick 7, FFmpeg のインストール: 別ページ »で説明
- Ubuntu での ImageMagick のインストール
インストールするには,次のコマンドを実行する。
# パッケージリストの情報を更新 sudo apt update sudo apt -y install imagemagick
curl のインストール
- Windows での curl の使用: curl は,Windows 10, 11 の標準機能にあるので,インストールの必要はない.
- Ubuntu での curl のインストール
# パッケージリストの情報を更新 sudo apt update sudo apt -y install curl
ここで説明のためにサンプルとして使用する画像
curl コマンドを用いてダウンロードできる.あるいは Web ブラウザでもダウンロードできる.
curl -L https://github.com/opencv/opencv/blob/master/samples/data/fruits.jpg?raw=true -o fruits.jpg
2. 画像ファイルの情報取得
ImageMagick の identify コマンドによる情報の取得
静止画像の情報の取得には,ImageMagick の identify コマンドが便利である。ImageMagick 7 では magick identify の形で実行する。
参考 Web ページ: https://imagemagick.org/escape/
(各書式指定子の意味:%k 色数、%q 量子化深度、%r 画像クラスと色空間、%w 幅、%h 高さ、%x 横方向の解像度、%y 縦方向の解像度、%z 画像の深さ)。
magick identify -format "%k" fruits.jpg
magick identify -format "%q" fruits.jpg
magick identify -format "%r" fruits.jpg
magick identify -format "%w" fruits.jpg
magick identify -format "%h" fruits.jpg
magick identify -format "%x" fruits.jpg
magick identify -format "%y" fruits.jpg
magick identify -format "%z" fruits.jpg
Ubuntu での実行結果
3. 静止画の形式変換,拡大縮小,切り出し
ImageMagick を用いた静止画の形式変換
次のように ImageMagick 7 の magick を使う。出力ファイルの拡張子によって変換後の形式が決まる。
magick <画像ファイル名> <変換後の画像ファイル名>
ImageMagick を用いて画像ファイルを PDF に変換する
次のように ImageMagick 7 の magick を使う。出力ファイル名の拡張子を「.pdf」とすると PDF として保存される。
magick <画像ファイル名> <変換後の PDF ファイル名>
ImageMagick を用いた静止画の拡大縮小
次のように ImageMagick 7 の magick -resize を使う。
magick <画像ファイル名> -resize <サイズ> <変換後の画像ファイル名>
あるディレクトリ内の全画像ファイルについて、サイズを変えた別の画像を作りたい場合に用いる bash スクリプトの例を示す(横幅 256 ピクセルに縮小し、末尾に「_thumb」を付けた PNG として保存する)。
for i in *.jpg; do
echo $i
magick $i -resize 256 `basename $i .jpg`_thumb.png
done
ImageMagick の切り出し
次のように ImageMagick 7 の magick -crop を使う(切り出す範囲は「幅x高さ+左上のX座標+左上のY座標」の形式で指定する)。
magick <画像ファイル名> -crop <切り出す範囲> <変換後の画像ファイル名>
例えば「magick fruits.jpg -crop +0+200 a.jpg」のように実行する.