PIL( Python Imaging Library)是 Python 的第三方圖像處理庫(kù),由于其功能豐富,API 簡(jiǎn)潔易用,因此深受好評(píng)。
自 2011 年以來(lái),由于 PIL 庫(kù)更新緩慢,目前僅支持 Python 2.7 版本,這明顯無(wú)法滿足 Python3 版本的使用需求。于是一群 Python 社區(qū)的志愿者(主要貢獻(xiàn)者:Alex Clark 和 Contributors)在 PIL 庫(kù)的基礎(chǔ)上開發(fā)了一個(gè)支持 Python3 版本的圖像處理庫(kù),它就是 Pillow。
Pillow 不僅是 PIL 庫(kù)的“復(fù)制版”,而且它又在 PIL 庫(kù)的基礎(chǔ)上增加了許多新的特性。Pillow 發(fā)展至今,已經(jīng)成為了比 PIL 更具活力的圖像處理庫(kù)。
Pillow 的初衷只是想作為 PIL 庫(kù)的分支和補(bǔ)充,如今它已是“青出于藍(lán)而勝于藍(lán)”。
除了 PIL 和 Pillow 庫(kù)之外,Python 還提供了一些其他圖像處理庫(kù):
Pillow 是 Python 中較為基礎(chǔ)的圖像處理庫(kù),主要用于圖像的基本處理,比如裁剪圖像、調(diào)整圖像大小和圖像顏色處理等。與 Pillow 相比,OpenCV 和 Scikit-image 的功能更為豐富,所以使用起來(lái)也更為復(fù)雜,主要應(yīng)用于機(jī)器視覺、圖像分析等領(lǐng)域,比如眾所周知的“人臉識(shí)別”應(yīng)用。
Pillow 支持跨平臺(tái)運(yùn)行,比如 Windows、Linux、MacOS 等,其最新版本為 Pillow 8.3.2,該版本支持 Python 3.6 及以上的版本(推薦使用)。Pillow 與 Python 支持版本的對(duì)照表如下所示:
Python版本 | 3.10 | 3.9 | 3.8 | 3.7 | 3.6 | 3.5 | 2.7 |
---|---|---|---|---|---|---|---|
Pillow>=8.3.2 | 支持 | 支持 | 支持 | 支持 | 支持 | ||
Pillow8.0-8.3.1 | 支持 | 支持 | 支持 | 支持 | |||
Pillow7.0-7.2 | 支持 | 支持 | 支持 | 支持 | |||
Pillow6.2.1-6.22 | 支持 | 支持 | 支持 | 支持 | 支持 | ||
Pillow6..0-6.2.0 | 支持 | 支持 | 支持 | 支持 |
Pillow 庫(kù)作為圖像處理的常用庫(kù),主要有以下三大特點(diǎn):
Pillow 支持廣泛的圖像格式,比如 "jpeg","png","bmp","gif","ppm","tiff" 等。同時(shí),它也支持圖像格式之間的相互轉(zhuǎn)換??傊?, Pillow 幾乎能夠處理任何格式的圖像。
Pillow 提供了豐富的圖像處理功能,可概括為兩個(gè)方面:
圖像歸檔,包括創(chuàng)建縮略圖、生成預(yù)覽圖像、圖像批量處理等;而圖像處理,則包括調(diào)整圖像大小、裁剪圖像、像素點(diǎn)處理、添加濾鏡、圖像顏色處理等。
Pillow 庫(kù)可以配合 Python GUI(圖形用戶界面)工具 Tkinter 一起使用。
除上述特點(diǎn)之外,Pillow 庫(kù)還能實(shí)現(xiàn)一些較為復(fù)雜的圖像處理操作,比如給圖像添加水印、合成 GIF 動(dòng)態(tài)效果圖等等。
更多建議: