PILの画像上の空白をトリミングする簡単なソリューションはありますか?PILを使用して空白を切り取る
ImageMagickには、次のようにそれのための簡単なサポートを持っている:私はPILのためのソリューション見つけ
convert test.jpeg -fuzz 7% -trim test_trimmed.jpeg
:
from PIL import Image, ImageChops
def trim(im, border):
bg = Image.new(im.mode, im.size, border)
diff = ImageChops.difference(im, bg)
bbox = diff.getbbox()
if bbox:
return im.crop(bbox)
をしかし、この解決策には欠点があります。
- 私がする必要が
border
の色を定義する、それは私のために大したことではない、私の画像は白い背景を持っている - そして最も不利な点は、このPILソリューションはImageMagickの
-fuzz
キーをサポートしていないことです。ファジィクロッピングを追加する。いくつかのjpeg圧縮アーティファクトと不必要な巨大な影を持つことができます。
PILにはいくつかの機能が組み込まれていますか? またはいくつかの高速なソリューションがありますか?
私は、コードを知っているがまったく同じであるが、それはまたここに見つけることができる - https://gist.github.com/mattjmorrison/932345 –