Python の Pillow で画像ファイルのサイズ (縦/横) を取得する
Python で pillow を使って画像イメージのサイズを取得するサンプルをメモしておきます。 テストは Rocky Linux 8 上で行いました。
Python のインストール
Python をインストールしておきます。
| dnf install -y python39
alternatives --set python /usr/bin/python3.9
|
venv の作成
作業用に venv 環境を作成し、Pillow をインストールします。
| mkdir sample1
cd sample1
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip Pillow
|
テスト用 画像イメージの取得
テストは Sample Files Download で公開されているものを利用させて頂きます。
| curl -o sample.png https://www.learningcontainer.com/wp-content/uploads/2020/08/Sample-Small-Image-PNG-file-Download.png
curl -o sample.jpg https://www.learningcontainer.com/wp-content/uploads/2020/07/Sample-JPEG-Image-File-Download.jpg
|
file
コマンドで確認すると画像サイズは以下になっていました。
| # file sample.jpg
sample.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 5600x4200, frames 3
# file sample.png
sample.png: PNG image data, 4000 x 3000, 8-bit colormap, non-interlaced
|
サンプルスクリプト (チュートリアルから抜粋)
Pillow のチュートリアル に掲載されているサンプルスクリプトをそのまま利用します。
| import sys
from PIL import Image
for infile in sys.argv[1:]:
try:
with Image.open(infile) as im:
print(infile, im.format, f"{im.size}x{im.mode}")
except OSError:
pass
|
実行結果は以下の通りです。
JPG
| # python pillow1.py sample.jpg
sample.jpg JPEG (5600, 4200)xRGB
|
PNG
| # python pillow1.py sample.png
sample.png PNG (4000, 3000)xP
|