0

画像のサブ領域を選択して新しい画像ファイルに変換することで、画像をトリミングしたいと考えています。

PIL ドキュメントで見た内容に基づいて、2 つのアプローチのどちらかを決定しようとしています。

両方のアプローチの場合:

    # assume I already have a PIL-opened image called original_image
    # assume I have a crop_box tuple for the area to crop, e.g. (0, 0, 100, 100)

アプローチ

  1. 元の画像を直接トリミングし、返されたトリミング領域を新しいファイルに変換します。元の画像に関するすべてのモードデータ/その他のメタデータを放棄しているようですが、再ロードする必要がありますか?

    cropped_image = original_image.crop(crop_box)
    # process cropped version as needed
    
  2. image.transform()サブリージョンを選択する

    # assume I have an output size of (100, 100)
    cropped_image = original_image.transform(size, Image.EXTENT, crop_box)
    # process cropped version as needed
    

速度、データ保存、または私が見逃している別の重要な要素の点で、あるアプローチは他のアプローチよりも優れていますか?

4

1 に答える 1

1

以下は、関数の下のPIL.Image ドキュメントからのものです。transform

作物より少し遅い

Pluscropはよりシンプルで、意図を示します。それが私が使うものです。

于 2013-02-25T23:01:31.150 に答える