Урежьте пробел, используя PIL
Есть ли простое решение для обрезки пробелов на изображении в PIL?
ImageMagick легко поддерживает это следующим образом:
convert test.jpeg -fuzz 7% -trim test_trimmed.jpeg
Я нашел решение для PIL:
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)
Но у этого решения есть недостатки:
I need to defineborder
color, it is not a big deal for me, my images has white background
And the most disadvantage, This PIL solution doesn't support ImageMagick's -fuzz
key. To add some fuzzy cropping. as I can have some jpeg compression artifacts and unneeded huge shadows.
Может быть, PIL имеет некоторые встроенные функции для этого? Или есть какое-то быстрое решение?