是否有一個簡單的解決方案來修剪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)
但是這種解決方案具有的缺點:
- 我需要定義
border
顏色,這對我來說不是什麼大問題,我的圖片有白色背景 - 而最不利的是,這個PIL解決方案不支持ImageMagick的
-fuzz
鍵。添加一些模糊裁剪。因爲我可以有一些JPEG壓縮文件和不需要的巨大陰影。
可能PIL有一些內置的函數嗎? 還是有一些快速解決方案?
我知道代碼是完全有相同的,但它也可以在這裏找到 - https://gist.github.com/mattjmorrison/932345 –