1. 概要

このチュートリアルでは、いくつかのツールを使用して、Linuxコマンドラインから画像ファイルのサイズをすばやく見つけて表示します。

2. ファイルコマンド

file コマンドは、ほとんどのLinuxディストリビューションで使用できます。 舞台裏では、画像ファイルのヘッダーからメタデータを読み取るため、パフォーマンス上の利点があります file コマンドに続いて画像パスを使用して、画像のサイズを確認できます。

$ file myimage.jpeg
myimage.jpeg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 300x300, segment length 16,
Exif Standard: [TIFF image data, little-endian, direntries=7, orientation=upper-left,xresolution=98,
yresolution=106, resolutionunit=2, software=GIMP 2.10.24, datetime=2021:07:07 21:18:52],
progressive, precision 8, 768x768, components 3

ご覧のとおり、myimage.jpegのメタデータを出力します。 画像の寸法だけを取得したい場合は、出力をgrepできます。

$ file myimage.jpeg | grep -Eo "[[:digit:]]+ *x *[[:digit:]]+"
768x768
  • -E フラグは、拡張正規表現を有効にします
  • -o オプションは、一致したテキストのみを印刷します

ただし、 file コマンドは、JPEG、PNG、GIF、WEBP、PGM、およびPPM画像の寸法のみを印刷することを知っておく必要があります。

3. identifyコマンド

identify コマンドには、ImageMagickスイートが付属しています。 多数の画像タイプの多くの情報を識別します。 fileコマンドと同様に、画像ヘッダーからも読み取ります。

3.1. インストール

ほとんどのLinuxディストリビューションでは、ImageMagickはそのままではインストールされません。 ただし、imagemagickという名前で公式パッケージリポジトリから入手できるはずです。 LinuxディストリビューションがDebianベースまたはFedoraの場合、yumまたはaptを使用できます。

インストールしたら、次のコマンドを使用して確認できます。

$ identify --version | grep Version
Version: ImageMagick 7.1.0-2 Q16 x86_64 2021-06-25 https://imagemagick.org

3.2. 使用法

identifyツールを使用するのは簡単です。 identify コマンドに続けて、イメージパスを入力します。

$ identify myimage.jpeg
myimage.jpeg JPEG 768x768 768x768+0+0 8-bit sRGB 86290B 0.010u 0:00.001

JPEGとは別に、identifyがサポートする他の画像タイプをすぐに利用できます。

$ identify --version
Version: ImageMagick 7.1.0-2 Q16 x86_64 2021-06-25 https://imagemagick.org
Copyright: (C) 1999-2021 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(4.5)
Delegates (built-in): bzlib cairo djvu fontconfig freetype heic jbig jng jp2 jpeg lcms
lqr ltdl lzma openexr pangocairo png raqm raw rsvg tiff webp wmf x xml zip zlib

「Delegates」フィールドに表示されているように、このツールはさまざまな画像およびドキュメント形式もサポートしています。

4. exiv2マネージャー

exiv2 ツールは、画像メタデータを管理するために使用されます。 これは特に写真ユーザーを対象としていますが、他のシナリオでも役立ちます。

4.1. インストール

多くのディストリビューションにはプリインストールされていないため、yumやaptなどのパッケージマネージャーを使用して、公式リポジトリからexiv2パッケージをインストールする必要があります。

exiv2 をインストールすると、次のことを確認できます。

$ exiv2 --version
exiv2 0.27.4

4.2. 使用法

exiv2 を使用するには、コマンドに続けてイメージパスを入力します。

$ exiv2 myimage.jpeg
File name : myimage.jpeg
File size : 86290 Bytes
MIME type : image/jpeg
Image size : 768 x 768
Thumbnail : image/jpeg, 7452 Bytes

コマンドを実行すると、画像から利用可能なすべてのメタデータが取得されます。 画像のサイズのみを取得したい場合は、その出力をgrepできます。

$ exiv2 myimage.jpeg | grep -i "image size"
Image size : 768 x 768

-i フラグは、大文字と小文字を区別するモードを無効にします。 さらに、exiv2はPPMまたはPGM形式では機能しません。

5. mediainfoユーティリティ

MediaInfo は、メディアファイルに関するメタデータをチェックするために使用される無料のプログラムです。 ビデオ、オーディオ、画像ファイルもサポートしています。

5.1. インストール

以前と同様に、yumまたはaptを使用して、公式パッケージリポジトリからパッケージmediainfoをインストールします。 または、Snapを使用してパッケージをインストールすることもできます。

$ snap install mediainfo

次に、インストールを確認できます。

$ mediainfo --version
MediaInfo Command line,
MediaInfoLib - v21.03

5.2. 使用法

他のツールと同様に、mediainfoコマンドに続けて画像パスを入力するだけです。

$ mediainfo myimage.jpeg
General
Complete name : myimage.jpeg
Format : JPEG
File size : 84.3 KiB
Image
Format : JPEG
Width : 768 pixels
Height : 768 pixels
Color space : YUV
Bit depth : 8 bits
Compression mode : Lossy

出力を絞り込むために、*Width*フィールドと*Height*フィールドをgrepできます。

$ mediainfo avatar.webp | grep -iE "width|height"
Width : 768 pixels
Height : 768 pixels

mediainfo は、WEBP、PPM、またはPGM形式では機能しないことに注意してください。

6. 結論

このチュートリアルでは、さまざまなツールを使用して、コマンドラインから画像のサイズをすばやく見つける方法について説明しました。