web-dev-qa-db-ja.com

PILを使用して画像をトリミングする方法は?

指定された画像から最初の30行と最後の30行を削除することで、画像を途中でトリミングしたいと思います。検索しましたが、正確な解決策が得られませんでした。誰か提案がありますか?

111
Taj Koyal

crop() メソッドがあります:

w, h = yourImage.size
yourImage.crop((0, 30, w, h-30)).save(...)
169
ninjagecko

このためにPIL(枕)をインポートする必要があります。サイズが1200、1600の画像があるとします。400、400から800、800の画像をトリミングします

from PIL import Image
img = Image.open("ImageName.jpg")
area = (400, 400, 800, 800)
cropped_img = img.crop(area)
cropped_img.show()
37
Atul Chavan

これを行う簡単な方法は、 ImageOps からのクロップを使用することです。トリミングするピクセル数を各辺からフィードできます。

from PIL import ImageOps

border = (0, 30, 0, 30) # left, up, right, bottom
ImageOps.crop(img, border)
9
PouyaB