画像のサブ領域を選択して新しい画像ファイルに変換することで、画像をトリミングしたいと考えています。
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)
アプローチ
元の画像を直接トリミングし、返されたトリミング領域を新しいファイルに変換します。元の画像に関するすべてのモードデータ/その他のメタデータを放棄しているようですが、再ロードする必要がありますか?
cropped_image = original_image.crop(crop_box) # process cropped version as needed
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
速度、データ保存、または私が見逃している別の重要な要素の点で、あるアプローチは他のアプローチよりも優れていますか?