pillow 簡(jiǎn)介

2022-08-22 14:10 更新

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ù):

  • Scikit-image:一款基于 scipy 科學(xué)計(jì)算的圖像處理軟件包,以數(shù)組的形式對(duì)圖像進(jìn)行處理;
  • OpenCV:其實(shí)是一個(gè) C++ 圖像處理庫(kù),不過它提供了 Python 語(yǔ)言的接口。

Pillow 是 Python 中較為基礎(chǔ)的圖像處理庫(kù),主要用于圖像的基本處理,比如裁剪圖像、調(diào)整圖像大小和圖像顏色處理等。與 Pillow 相比,OpenCV 和 Scikit-image 的功能更為豐富,所以使用起來(lái)也更為復(fù)雜,主要應(yīng)用于機(jī)器視覺、圖像分析等領(lǐng)域,比如眾所周知的“人臉識(shí)別”應(yīng)用。


Pillow版本支持

Pillow 支持跨平臺(tái)運(yùn)行,比如 Windows、Linux、MacOS 等,其最新版本為 Pillow 8.3.2,該版本支持 Python 3.6 及以上的版本(推薦使用)。Pillow 與 Python 支持版本的對(duì)照表如下所示:

版本對(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ù)特點(diǎn)

Pillow 庫(kù)作為圖像處理的常用庫(kù),主要有以下三大特點(diǎn):

1) 支持廣泛的文件格式

Pillow 支持廣泛的圖像格式,比如 "jpeg","png","bmp","gif","ppm","tiff" 等。同時(shí),它也支持圖像格式之間的相互轉(zhuǎn)換??傊?, Pillow 幾乎能夠處理任何格式的圖像。 

2) 提供了豐富的功能

Pillow 提供了豐富的圖像處理功能,可概括為兩個(gè)方面:

  • 圖像歸檔
  • 圖像處理

圖像歸檔,包括創(chuàng)建縮略圖、生成預(yù)覽圖像、圖像批量處理等;而圖像處理,則包括調(diào)整圖像大小、裁剪圖像、像素點(diǎn)處理、添加濾鏡、圖像顏色處理等。

3) 配合GUI工具使用

Pillow 庫(kù)可以配合 Python GUI(圖形用戶界面)工具 Tkinter 一起使用。

除上述特點(diǎn)之外,Pillow 庫(kù)還能實(shí)現(xiàn)一些較為復(fù)雜的圖像處理操作,比如給圖像添加水印、合成 GIF 動(dòng)態(tài)效果圖等等。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)