轉自:http://www.cnblogs.com/way_testlife/archive/2011/04/17/2019013.htmlhtml
PIL 下載:python
http://www.pythonware.com/products/pil/index.htmide
安裝 PIL函數
$ tar xvfz Imaging-1.1.7.tar.gz
$ cd Imaging-1.1.7
$ python setup.py install
post
1. 簡介。學習
圖像處理是一門應用很是廣的技術,而擁有很是豐富第三方擴展庫的 Python 固然不會錯過這一門盛宴。PIL (Python Imaging Library)是 Python 中最經常使用的圖像處理庫,目前版本爲 1.1.7,咱們能夠 在這裏 下載學習和查找資料。動畫
Image 類是 PIL 庫中一個很是重要的類,經過這個類來建立實例能夠有直接載入圖像文件,讀取處理過的圖像和經過抓取的方法獲得的圖像這三種方法。spa
2. 使用。3d
導入 Image 模塊。而後經過 Image 類中的 open 方法便可載入一個圖像文件。若是載入文件失敗,則會引發一個 IOError ;若無返回錯誤,則 open 函數返回一個 Image 對象。如今,咱們能夠經過一些對象屬性來檢查文件內容,即:code
這裏有三個屬性,咱們逐一瞭解。
format : 識別圖像的源格式,若是該文件不是從文件中讀取的,則被置爲 None 值。
size : 返回的一個元組,有兩個元素,其值爲象素意義上的寬和高。
mode : RGB(true color image),此外還有,L(luminance),CMTK(pre-press image)。
如今,咱們可使用一些在 Image 類中定義的方法來操做已讀取的圖像實例。好比,顯示最新載入的圖像:
輸出原圖:
3. 函數概貌。
3.1 Reading and Writing Images : open( infilename ) , save( outfilename )
3.2 Cutting and Pasting and Merging Images :
crop() : 從圖像中提取出某個矩形大小的圖像。它接收一個四元素的元組做爲參數,各元素爲(left, upper, right, lower),座標系統的原點(0, 0)是左上角。
paste() :
merge() :
其效果圖爲:
旋轉一幅圖片:
3.3.1 簡單的幾何變換。
各個調整以後的圖像爲:
圖片1:
圖片2:
圖片3:
圖片4:
3.3.2 色彩空間變換。
convert() : 該函數能夠用來將圖像轉換爲不一樣色彩模式。
3.3.3 圖像加強。
Filters : 在 ImageFilter 模塊中可使用 filter 函數來使用模塊中一系列預約義的加強濾鏡。
即咱們常見到的動態圖,最多見的後綴爲 .gif ,另外還有 FLI / FLC 。PIL 庫對這種動畫格式圖也提供了一些基本的支持。當咱們打開這類圖像文件時,PIL 自動載入圖像的第一幀。咱們可使用 seek 和 tell 方法在各幀之間移動。
3.5 更多關於圖像文件的讀取。
最基本的方式:im = Image.open("filename")
類文件讀取:fp = open("filename", "rb"); im = Image.open(fp)
字符串數據讀取:import StringIO; im = Image.open(StringIO.StringIO(buffer))
從歸檔文件讀取:import TarIO; fp = TarIo.TarIO("Image.tar", "Image/test/lena.ppm"); im = Image.open(fp)
基本的 PIL 目前就練習到這裏。其餘函數的功能可點擊 這裏 進一步閱讀。