天天看點

詳解Python第三方庫(三)----- Pillow庫

一、簡介及安裝Pillow

1.1 簡介

PIL:Python Imaging Library,已經是Python平台上的圖像處理标準庫了。PIL功能非常強大,但API卻非常簡單易用,是以廣受開發人員的使用。

由于PIL僅支援到Python 2.7,加上年久失修,于是一群志願者在PIL的基礎上建立了相容的版本Pillow,支援最新Python 3.x,并且又加入了許多新特性,這使得Pillow又煥發了生機!

該篇文章隻是簡單地介紹Image子產品中同名的Image類,詳細請自行到官網查閱學習!之後有時間會陸續更新Pollow庫。希望對大家有所幫助!

1.2 安裝Pillow
pip install pillow
           

二、Pillow庫的基礎用法

2.1 導包

Pillow庫安裝成功後,導包時要用PIL來導入,而不能用pillow或Pillow,導入相應的包:

import PIL
from PIL import Image
           

在Pillow庫中,有二十多個子產品,還支援非常多的插件。其中最常用的是Image子產品中同名的Image類,其他很多子產品都是在Image子產品的基礎上對圖像做進一步的特殊處理。本文主要介紹Image子產品的常用用法,其他的子產品可以按需看文檔。

2.2 讀取圖檔

假設我要讀取這麼一張圖檔(python.jpg),我們隻需要2行代碼便可将該圖檔展示出來。

詳解Python第三方庫(三)----- Pillow庫
from PIL import Image  # 導包

image = Image.open('python.jpg')
image.show()
           

三、如何将.npy檔案轉換為圖檔

讀取一個.npy檔案,并将其轉換為圖檔

import PIL
from PIL import Image
path = '' # 要轉換為圖檔的.npy檔案
data = np.load(path)
image = Image.fromarray(data)
image.show()
           

四、Pillow庫的進階用法

首先,我們需要讀取一張示例圖檔(python.jpg),然後依次執行下述操作,并檢視效果。

4.1 圖檔的縮放
image = Image.open('python.jpg')
image.thumbnail((image.size[0] // 2, image.size[1] // 2))
image.save('python1.jpg', 'jpeg')
           
詳解Python第三方庫(三)----- Pillow庫
4.2 圖檔模糊
from PIL import Image, ImageFilter
image = Image.open('python.jpg')
image.filter(ImageFilter.BLUR).show()
           
詳解Python第三方庫(三)----- Pillow庫
4.3 圖檔旋轉
  • 逆時針旋轉
image = Image.open('python.jpg')
image.rotate(45).show()  # 逆時針旋轉45°
           
詳解Python第三方庫(三)----- Pillow庫
  • 順時針旋轉
image = Image.open('python.jpg')
image.rotate(-45).show()  # 順時針旋轉45°
           
詳解Python第三方庫(三)----- Pillow庫

繼續閱讀