Python の Pillow ライブラリは、非常に強力な画像処理ライブラリです。幅広い画像処理機能を提供し、画像の変換、トリミング、拡大縮小、回転などの操作を簡単に実行して画像を操作できます。さらに、Pillow は、JPEG、PNG、BMP、GIF などを含むさまざまな画像形式の読み取りと保存もサポートしています。
ピローをインストールする
まず、Pillow ライブラリをインストールする必要があります。ターミナルまたはコマンド ラインに次のコマンドを入力して、Pillow をインストールします。
pip install pillow
PIL ライブラリが環境にすでにインストールされている場合は、次のコマンドを使用して Pillow の最新バージョンにアップグレードできます。
pip install pillow --upgrade
Pillow ライブラリの主要なモジュールとクラス
Pillow ライブラリの主なモジュールには、Image、ImageColor、ImageDraw、ImageFont、ImageFilter などが含まれます。各モジュールは、画像を処理するための対応するクラスとメソッドを提供します。
- Image モジュールは、画像を開いたり、操作したり、保存したりするためのメソッドを提供します。必要な画像操作関数がすべて含まれています。
- ImageColor モジュールは、RGB 色空間を操作するためのメソッドを提供します。
- ImageDraw モジュールは、画像上にさまざまな図形やテキストを描画するためのメソッドを提供します。
- ImageFont モジュールは、フォントとフォント サイズを設定するためのメソッドを提供します。
- ImageFilter モジュールは、画像をフィルタリングするためのメソッドを提供します。
以下では、コード例を通じて、画像処理に Pillow ライブラリを使用する方法を示します。
画像を開いて表示する
Image.open()
まず、画像を開くメソッドとImage.show()
画像を表示するメソッドを使用できます。
from PIL import Image
# 打开图像
img = Image.open('example.jpg')
# 显示图像
img.show()
この例では、という名前の画像ファイルを開いて変数に保存するImage.open()
メソッドを使用します。次に、この画像を表示するメソッドを使用します。example.jpg
img
img.show()
画像の変換と調整
Pillow ライブラリは、画像を変換およびサイズ変更するためのさまざまな方法を提供します。一般的に使用されるいくつかの方法を次に示します。
Image.resize(size)
画像のサイズを変更するメソッド。Image.rotate(angle, expand=True)
画像を回転するにはメソッドを使用します。Image.transpose(method)
画像を反転または回転するメソッド。Image.convert(mode='RGB')
メソッドは、画像を RGB モードに変換するために使用されます。Image.adjust(brightness=0, contrast=0, saturation=0, hue=0)
画像の明るさ、コントラスト、彩度、色相を調整する方法。
from PIL import Image, ImageOps, ImageFilter, ImageEnhance
# 打开图像
img = Image.open('example.jpg')
# 调整图像大小
img_resized = img.resize((300, 300))
# 旋转图像
img_rotated = img.rotate(45)
# 翻转图像
img_flipped = img.transpose(Image.FLIP_LEFT_RIGHT)
# 调整亮度对比度和饱和度
enhancer = ImageEnhance.Brightness(img)
img_brightened = enhancer.enhance(1.5) # 提高亮度50%
enhancer = ImageEnhance.Contrast(img)
img_contrasted = enhancer.enhance(1.5) # 提高对比度50%
enhancer = ImageEnhance.Color(img)
img_colored = enhancer.enhance(1.5) # 提高饱和度50%
# 显示结果
img_resized.show()
img_rotated.show()
img_flipped.show()
img_brightened.show()
img_contrasted.show()
img_colored.show()
この例では、まずメソッドを使用して名前を付けた画像ファイルをImage.open()
開き、それを変数に保存します。次に、 メソッド を使用して画像のサイズを変更し、 メソッド を使用して画像を回転し、 メソッド を使用して画像を反転または回転し、モジュールのおよびメソッドをそれぞれ使用して画像の明るさ、コントラスト、彩度を調整します。最後に、処理された各画像を表示するメソッドを使用します。example.jpg
img
Image.resize()
Image.rotate()
Image.transpose()
ImageEnhance
Brightness()
Contrast()
Color()
img_xxx.show()