1 2 3 4 | import Image im = Image.open("hoge.jpg") im.show() im.save("hage.gif") |
次回は、PIL内部に読み込んだ画像をトリミングしたり回転・拡大・縮小したり色彩変換したり する方法について紹介しようと思います。今日はココマデ。
ファイルは上記のようにImage.open(filename)で開きます。
画像形式はコンテンツから自動的に判別しますので、単にファイル名を渡すだけで十分です。
show()メソッドは、PILがオープンしたファイルをGUIで閲覧するためのメソッドです。
im.show()を実行すると、ウィンドウが出現し画像を表示してくれます。
save(filename)メソッドは、ファイル名:filenameのファイルに画像を保存します。
拡張子で自動的に保存形式を認識してくれます。
上記例ではhoge.jpgをオープンしてそのままGIF形式でhage.gifとして保存しています。
これは画像の各ピクセルに対する色の保存形式に関する情報が格納されており、
以下の8通りがあります。
- 1
1-bit pixels, - B/W
L
8-bit pixels, - B/W
P
8-bit pixels, - RGB
3x8-bit pixels, true color - RGBA
4x8-bit pixels, true colour (透明付き) - CMYK
4x8-bit pixels - YCbCr
3x8-bit pixels - I
32-bit整数 - F
32-bit実数
(R, G, B)をそれぞれ[0, 0xff]の範囲で表すRGB形式が 最もメジャーだと思います。
Webでよく見られる色見本の表示形式も上記方式に該当しますので 以後の説明はRGBで説明していきたいと思います。
RGB形式では、上記R, G, Bの3つ組のタプルで例えば(0x00, 0x00, 0x80)のような形式でデータ構造が
定義されています。
1 2 3 4 5 | import Image im = Image.open("hoge.gif") if ( im.mode != "RGB" ): im = im.convert("RGB") |
PIL内部で必ずRGB形式で扱いたいのならば以下のようにconvert()メソッドを用いて モードを変更するようにしましょう。