Pillow(PIL)

【Python/Pillow(PIL)】画像データフォーマット

スポンサーリンク

画像データにはカラー画像の24bit,32bit、モノクロ画像の8bit,16bitなどがありますが、Pillowで対応している画像データフォーマットの一覧は以下の通りです。

mode説明
11-bit pixels, black and white, stored with one pixel per byte
L8-bit pixels, black and white
P8-bit pixels, mapped to any other mode using a color palette
RGB3×8-bit pixels, true color
RGBA4×8-bit pixels, true color with transparency mask
CMYK4×8-bit pixels, color separation
YCbCr3×8-bit pixels, color video format
LAB3×8-bit pixels, the L*a*b color space
HSV3×8-bit pixels, Hue, Saturation, Value color space
I32-bit signed integer pixels
F32-bit floating point pixels

また、機能が限定的となりますが、以下のものも用意されています。

LAL with alpha
PAP with alpha
RGBXtrue color with padding
RGBatrue color with premultiplied alpha
LaL with premultiplied alpha
I;1616-bit unsigned integer pixels
I;16L16-bit little endian unsigned integer pixels
I;16B16-bit big endian unsigned integer pixels
I;16N16-bit native endian unsigned integer pixels
BGR;1515-bit reversed true colour
BGR;1616-bit reversed true colour
BGR;2424-bit reversed true colour
BGR;3232-bit reversed true colour

(参考)

Concepts — Pillow (PIL Fork) 8.2.0 documentation

一般的に用いられるのは、カラー24bitの RGB とモノクロ(グレースケール)8bitの L が多いと思います。

C言語やC#などでは、モノクロ画像の場合はカラーパレットを参照して表示するインデックスドカラーというのが標準的だったのですが、このインデックスドカラーに相当するのは P となります。

使用例

from PIL import Image

# PIL.Imageで画像を開く
img = Image.open("./Parrots.bmp")
print(img.mode)
img.show()  # 画像の表示

# カラー→モノクロ変換
gray = img.convert("L")
gray.show()  # 画像の表示

(実行結果)

【Python/Pillow(PIL)】画像データフォーマット

コメント

タイトルとURLをコピーしました