1

我正在編寫一個Python應用程序,我需要執行一些圖像任務。ImageOps.unsharp_mask在PIL上不工作

我在嘗試PIL,它是ImageOps模塊。但它看起來unsharp_mask方法不能正常工作。它應該返回另一個圖像,但返回一個ImagingCore對象,我不知道它是什麼。

下面是一些代碼:

import Image 
import ImageOps 

file = '/home/phius/test.jpg' 
img = Image.open(file) 
img = ImageOps.unsharp_mask(img) 
#This fails with AttributeError: save 
img.save(file) 

我堅持這一點。

我需要什麼:能夠像PIL的autocontrastunsharp_mask那樣做一些圖像微調,並重新調整大小,旋轉和以jpg格式導出來控制質量級別。

回答

1

你需要的是你的圖像上的過濾器命令和PIL的ImageFilter模塊[1]所以:

import Image 
import ImageFilter 

file = '/home/phius/test.jpg' 
img = Image.open(file) 
img2 = img.filter(ImageFilter.UnsharpMask) # note it returns a new image 
img2.save(file) 

其他濾波操作而此ImageFilter模塊[1],以及部分並應用同樣的方式。通過調用圖像對象本身的函數[2]來處理變換(旋轉,調整大小),即img.resize。這個問題解決了JPEG質量How to adjust the quality of a resized image in Python Imaging Library?

[1] http://effbot.org/imagingbook/imagefilter.htm

[2] http://effbot.org/imagingbook/image.htm

+0

非常感謝你,羅裏。其他的事情(旋轉,保存質量)我已經在做,只是張貼,以防有人搶奪另一個圖書館。 =) – Phius 2012-08-01 04:32:25