ImageTransform モジュール

ImageTransform モジュールには、いくつかのビルトインImage.Transform メソッドのImageTransformHandler の実装が含まれています。

class PIL.ImageTransform.Transform(data: Sequence[Any])[source]

ベースクラス:ImageTransformHandler

ImageTransform に定義されている他の変換のベースクラスです。

getdata() tuple[Transform, Sequence[int]][source]
method: Transform
transform(size: tuple[int, int], image: Image, **options: Any) Image[source]

Image.transform() から呼び出される変換を実行します。

class PIL.ImageTransform.AffineTransform(data: Sequence[Any])[source]

ベースクラス:Transform

アフィン画像変換を定義します。

この関数は、アフィン変換行列の最初の2行を含む6タプル(a、b、c、d、e、f)を受け取ります。出力画像の各ピクセル(x、y)について、新しい値は入力画像の位置(a x + b y + c、d x + e y + f)(最も近いピクセルに丸められる)から取得されます。

この関数は、元の画像のスケーリング、平行移動、回転、せん断に使用できます。

Image.transform() を参照してください。

パラメータ:

**matrix** – アフィン変換行列の最初の2行を含む6タプル(a、b、c、d、e、f)。

method: Transform = 0
class PIL.ImageTransform.PerspectiveTransform(data: Sequence[Any])[source]

ベースクラス:Transform

透視変換を定義します。

この関数は、8要素のタプル (a, b, c, d, e, f, g, h) を受け取ります。出力画像の各ピクセル (x, y) について、新しい値は入力画像の位置 ((a x + b y + c) / (g x + h y + 1), (d x + e y + f) / (g x + h y + 1)) から取得され、最寄りのピクセルに丸められます。

この関数は、元の画像のスケーリング、平行移動、回転、せん断に使用できます。

Image.transform() を参照してください。

パラメータ:

matrix – 8要素のタプル (a, b, c, d, e, f, g, h)。

method: Transform = 2
class PIL.ImageTransform.ExtentTransform(data: Sequence[Any])[source]

ベースクラス:Transform

画像から部分領域を抽出する変換を定義します。

画像上の長方形(2つの角で定義)を、指定されたサイズの矩形にマッピングします。生成された画像は、入力画像の(x0, y0)が出力画像の(0,0)になり、(x1, y1)がsizeになるように、2つの角の間からサンプリングされたデータを含みます。

このメソッドは、現在の画像内の任意の長方形をトリミング、伸縮、縮小、または反転するために使用できます。crop関数よりもわずかに遅くなりますが、対応するresize操作とほぼ同等の速度です。

Image.transform() を参照してください。

パラメータ:

bbox – 入力画像の座標系で2点を指定する4要素のタプル (x0, y0, x1, y1)。座標系を参照してください。

method: Transform = 1
class PIL.ImageTransform.QuadTransform(data: Sequence[Any])[source]

ベースクラス:Transform

四角形画像変換を定義します。

画像上の四角形(4つの角で定義された領域)を、指定されたサイズの矩形にマッピングします。

Image.transform() を参照してください。

パラメータ:

xy – ソースの四角形の左上、左下、右下、右上の角を含む8要素のタプル (x0, y0, x1, y1, x2, y2, x3, y3)。

method: Transform = 3
class PIL.ImageTransform.MeshTransform(data: Sequence[Any])[source]

ベースクラス:Transform

メッシュ画像変換を定義します。メッシュ変換は、1つ以上の個々の四角形変換で構成されます。

Image.transform() を参照してください。

パラメータ:

data – (bbox, quad) タプルのリスト。

method: Transform = 4