ImageOps
モジュール¶
ImageOps
モジュールには、「既製」の画像処理操作が多数含まれています。このモジュールはやや実験的であり、ほとんどの演算子はLおよびRGB画像でのみ機能します。
バージョン1.1.3で追加されました。
- PIL.ImageOps.autocontrast(image: Image, cutoff: float | tuple[float, float] = 0, ignore: int | Sequence[int] | None = None, mask: Image | None = None, preserve_tone: bool = False) Image [ソース]¶
画像のコントラストを最大化 (正規化) します。この関数は、入力画像 (またはマスク領域) のヒストグラムを計算し、ヒストグラムから最も明るいピクセルと最も暗いピクセルの
cutoff
パーセントを削除し、最も暗いピクセルが黒 (0) に、最も明るいピクセルが白 (255) になるように画像を再マッピングします。- パラメーター:
image – 処理する画像。
cutoff – ヒストグラムの低い端と高い端から切り捨てるパーセント。 (低い, 高い) のタプル、または両方に単一の数値。
ignore – 背景ピクセルの値 (背景なしの場合はNoneを使用)。
mask – コントラスト操作で使用されるヒストグラムは、マスク内のピクセルを使用して計算されます。マスクが指定されていない場合、画像全体がヒストグラム計算に使用されます。
preserve_tone –
Photoshopのようなスタイルの自動コントラストで画像トーンを保持します。
バージョン8.2.0で追加されました。
- 戻り値:
画像。
- PIL.ImageOps.colorize(image: Image, black: str | tuple[int, ...], white: str | tuple[int, ...], mid: str | int | tuple[int, ...] | None = None, blackpoint: int = 0, whitepoint: int = 255, midpoint: int = 127) Image [ソース]¶
グレースケール画像をカラー化します。この関数は、ソース画像内のすべての黒いピクセルを最初の色に、すべての白いピクセルを2番目の色にマッピングするカラーウェッジを計算します。
mid
が指定されている場合、3色マッピングを使用します。black
およびwhite
引数はRGBタプルまたは色名である必要があります。オプションで、mid
を指定して3色マッピングを使用できます。色のマッピング位置は(例:blackpoint
)、対応する色がマッピングされるべき整数値を指定できます。これらのパラメーターは、blackpoint <= midpoint <= whitepoint
(mid
が指定されている場合)のように論理的な順序である必要があります。- パラメーター:
image – カラー化する画像。
black – 黒の入力ピクセルに使用する色。
white – 白の入力ピクセルに使用する色。
mid – 中間調の入力ピクセルに使用する色。
blackpoint – 黒のマッピングの整数値 [0, 255]。
whitepoint – 白のマッピングの整数値 [0, 255]。
midpoint – 中間調のマッピングの整数値 [0, 255]。
- 戻り値:
画像。
- PIL.ImageOps.crop(image: Image, border: int = 0) Image [ソース]¶
画像から境界線を削除します。同じピクセル数が4辺すべてから削除されます。この関数はすべての画像モードで機能します。
参考
- パラメーター:
image – クロップする画像。
border – 削除するピクセル数。
- 戻り値:
画像。
- PIL.ImageOps.scale(image: Image, factor: float, resample: int = Resampling.BICUBIC) Image [ソース]¶
パラメーターで指定された特定の係数で、リスケールされた画像を返します。1より大きい係数は画像を拡大し、0から1の間の係数は画像を縮小します。
- class PIL.ImageOps.SupportsGetMesh(*args, **kwargs)[ソース]¶
ベース:
Protocol
画像を引数として取り、タプルのリストを返す
getmesh
メソッドをサポートするオブジェクト。各タプルには、ソースボックス(4つの整数のタプル)、および最終的な四角形を表す8つの整数のタプル(左上、左下、右下、右上の順)の2つのタプルが含まれます。
- PIL.ImageOps.deform(image: Image, deformer: SupportsGetMesh, resample: int = Resampling.BILINEAR) Image [ソース]¶
画像をゆがめます。
- パラメーター:
image – ゆがませる画像。
deformer – デフォーマーオブジェクト。
getmesh
メソッドを実装するオブジェクトであれば、どれでも使用できます。resample – オプションのリサンプリングフィルター。PIL.Image.transform 関数で使用可能な値と同じ値が使用できます。
- 戻り値:
画像。
- PIL.ImageOps.equalize(image: Image, mask: Image | None = None) Image [ソース]¶
画像のヒストグラムを均一化します。この関数は、出力画像でグレースケール値が均一に分布するように、入力画像に非線形マッピングを適用します。
- パラメーター:
image – 均一化する画像。
mask – オプションのマスク。指定された場合、マスクによって選択されたピクセルのみが分析に含まれます。
- 戻り値:
画像。
- PIL.ImageOps.expand(image: Image, border: int | tuple[int, ...] = 0, fill: str | int | tuple[int, ...] = 0) Image [ソース]¶
画像に枠線を追加します
- パラメーター:
image – 拡張する画像。
border – 枠線の幅(ピクセル単位)。
fill – ピクセルの塗りつぶし値(色値)。デフォルトは0(黒)です。
- 戻り値:
画像。
- PIL.ImageOps.grayscale(image: Image) Image [ソース]¶
画像をグレースケールに変換します。
- パラメーター:
image – 変換する画像。
- 戻り値:
画像。
- PIL.ImageOps.mirror(image: Image) Image [ソース]¶
画像を水平方向(左から右)に反転させます。
- パラメーター:
image – 反転する画像。
- 戻り値:
画像。
- PIL.ImageOps.posterize(image: Image, bits: int) Image [ソース]¶
各カラーチャネルのビット数を減らします。
- パラメーター:
image – ポスタリゼーションする画像。
bits – 各チャネルで保持するビット数(1〜8)。
- 戻り値:
画像。
- PIL.ImageOps.solarize(image: Image, threshold: int = 128) Image [ソース]¶
しきい値を超えるすべてのピクセル値を反転させます。
- パラメーター:
image – ソラリゼーションする画像。
threshold – このグレースケールレベルを超えるすべてのピクセルが反転されます。
- 戻り値:
画像。
- PIL.ImageOps.exif_transpose(image: Image, *, in_place: bool = False) Image | None [ソース]¶
画像に1以外のEXIF Orientationタグがある場合、それに応じて画像を転置し、向きのデータを削除します。
- パラメーター:
image – 転置する画像。
in_place – ブール値。キーワード専用引数。
True
の場合、元の画像がインプレースで変更され、None
が返されます。False
(デフォルト)の場合、転置が適用された新しいImage
オブジェクトが返されます。転置がない場合は、画像のコピーが返されます。
指定されたサイズに対する相対的なサイズ変更¶
from PIL import Image, ImageOps
size = (100, 150)
with Image.open("Tests/images/hopper.webp") as im:
ImageOps.contain(im, size).save("imageops_contain.webp")
ImageOps.cover(im, size).save("imageops_cover.webp")
ImageOps.fit(im, size).save("imageops_fit.webp")
ImageOps.pad(im, size, color="#f00").save("imageops_pad.webp")
# thumbnail() can also be used,
# but will modify the image object in place
im.thumbnail(size)
im.save("image_thumbnail.webp")
指定されたサイズ |
|
|
|
|
|
結果の画像 |
![]() |
![]() |
![]() |
![]() |
![]() |
結果のサイズ |
|
|
|
|
|
- PIL.ImageOps.contain(image: Image, size: tuple[int, int], method: int = Resampling.BICUBIC) Image [source]¶
元の縦横比を維持したまま、要求されたサイズ内の最大幅と高さに設定された、リサイズされたバージョンの画像を返します。
- PIL.ImageOps.cover(image: Image, size: tuple[int, int], method: int = Resampling.BICUBIC) Image [source]¶
元の縦横比を維持したまま、要求されたサイズをカバーするように、リサイズされたバージョンの画像を返します。
- PIL.ImageOps.fit(image: Image, size: tuple[int, int], method: int = Resampling.BICUBIC, bleed: float = 0.0, centering: tuple[float, float] = (0.5, 0.5)) Image [source]¶
要求された縦横比とサイズにトリミングされた、リサイズおよびトリミングされたバージョンの画像を返します。
この関数はKevin Cazabonによって提供されました。
- パラメーター:
image – リサイズおよびトリミングする画像。
size – ピクセル単位で指定された、要求される出力サイズ。(幅、高さ)のタプルで指定します。
bleed – 画像の外側の4つの端すべてから境界線を削除します。値は10進数のパーセントです(1パーセントの場合は0.01を使用します)。デフォルト値は0(境界線なし)です。0.5以上にはできません。
centering – トリミング位置を制御します。中央トリミングには(0.5, 0.5)を使用します(例えば、幅をトリミングする場合は、左側から50%を削除し、したがって右側から50%を削除します)。(0.0, 0.0)は左上隅からトリミングします(つまり、幅をトリミングする場合は、トリミング部分をすべて右側から削除し、高さをトリミングする場合は、すべて下から削除します)。(1.0, 0.0)は左下隅からトリミングします。など(つまり、幅をトリミングする場合は、トリミング部分をすべて左側から削除し、高さをトリミングする場合は、上から何も削除せず、したがってすべてを下から削除します)。
- 戻り値:
画像。