一、簡介及安裝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行代碼便可将該圖檔展示出來。
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')
4.2 圖檔模糊
from PIL import Image, ImageFilter
image = Image.open('python.jpg')
image.filter(ImageFilter.BLUR).show()
4.3 圖檔旋轉
- 逆時針旋轉
image = Image.open('python.jpg')
image.rotate(45).show() # 逆時針旋轉45°
- 順時針旋轉
image = Image.open('python.jpg')
image.rotate(-45).show() # 順時針旋轉45°