1. 程式人生 > 實用技巧 >PIL:Python影象處理類庫

PIL:Python影象處理類庫

PIL:Python影象處理類庫
PIL安裝

sudo apt install python-pip # 安裝pip
sudo pip install pillow

讀取一幅影象

讀取一幅影象

from PIL import Image

im = Image.open('filename.jpg')

顯示影象

im.show()

灰度影象

im_l = Image.open('filename.jpg').convert('L')
轉換影象格式

從檔名列表(filelist)中讀取所有的影象檔案,並轉換成JPEG格式

from PIL import Image
import os

for infile in filelist:
outfile = os.path.splitext(infile)[0] + ".jpg"
if infile != outfile:
try:
Image.open(infile).save(outfile)
except IOError:
print "cannot convert", infile

建立一個包含資料夾中所有影象檔案的檔名列表
imtool.py
import os
def get_imlist(path):
"""返回目錄中所有JPG影象的檔名"""

return [os.path.join(path, f) for f in os.listdir(path) if f.endswith('.jpg')]

建立縮圖
from PIL import Image

im = Image.open('filename.jpg')

最長邊為128畫素的縮圖,影象比例不變

im.thumbnail((128, 128))
裁剪影象
from PIL import Image

im = Image.open('filename.jpg')

裁剪指定區域

box = (100, 100, 400, 400) # 四元組的座標依次是(左,上,右,下),PIL中指定座標系的左上角座標為(0,0)
region = im.crop(box)

旋轉180°

region = region.transpose(Image.ROTATE_180)
im.paste(region, box) #貼上影象區域
調整尺寸和旋轉
from PIL import Image

im = Image.open('filename.jpg')

out = im.resize((128, 128)) # 影象比例會改變
out = im.rotate(45) # 逆時針旋轉45

作者:sixfold_yuan
連結:

https://www.jianshu.com/p/8f0568fc244f