2007年10月28日
Python | PILでサムネイル生成
Python Imaging Library HandbookPILで画像のサムネイルを生成するときメモ。
image.thumbnail((100, 100), Image.ANTIALIAS)
image.filter(ImageFilter.DETAIL) # または、image.filter(ImageFilter.SHARPEN)
image.save('/path/to/thumbnail.jpg', 'JPEG', quality=95)
サイズにも因るけど縮小しただけではねむい画像になってしまうので、シャープフィルターを掛ける。が、PILのSHARPENフィルターでは度合いを調整できず、ちょっとシャープが掛かり過ぎてる感じ。フィルターをいくつか比べてみたが、DETAILフィルターが妥協できるレベル。
最後に保存する際に、qualityオプションで大きな値を指定しないとこれまた劣化の原因となる。デフォルトの値は75。ドキュメントによると、95より大きな値は指定すべきではないとのこと。
サムネイル生成に丁度いいフィルターを自作したいところ。PILのカスタムフィルターがどこかに公開されてないかな?
Comment