Recortar espacios en blanco usando PIL
¿Existe una solución simple para recortar espacios en blanco en la imagen en PIL?
ImageMagick tiene fácil soporte para él de la siguiente manera:
convert test.jpeg -fuzz 7% -trim test_trimmed.jpeg
Encontré una solución para 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)
Pero esta solución tiene desventajas:
Necesito definirborder
color, no es un gran problema para mí, mis imágenes tienen fondo blancoY la mayor desventaja, esta solución PIL no es compatible con ImageMagick-fuzz
llave. Para añadir algún recorte difuso. ya que puedo tener algunos artefactos de compresión jpeg y enormes sombras innecesarias.Puede ser que PIL tenga algunas funciones incorporadas para ello? ¿O hay alguna solución rápida?