PythonとPILでPNG画像をグレースケールにする

PythonとPILでPNG画像をグレースケールにしたときのメモ

Pythonスクリプト

以下のページのほぼコピー。ガンマ補正は不要なので割愛。 Python でグレースケール(grayscale)化 - Qiita

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 画像のグレースケール変換(透過PNG)

from PIL import Image
import sys

_, infile, outfile = sys.argv

img = Image.open(infile)
img_gray = img.convert("LA")  # グレースケール変換(透過pngを対象とするためアルファチャンネルも扱う)
img_gray.save(outfile)

使い方(Powershellから呼び出す)

# png画像だけが格納されたディレクトリの中身の画像それぞれをグレースケールにした画像を生成し、同じディレクトリに「元の名前+_grey.png」で保存する
Set-Variable dir hogehoge
ls $dir | %{python .\grayscaler.py $_.FullName ($dir + "/" + $_.BaseName + "_gray.png")}