Pillow(枕頭) 是另一套處理圖型的套件,簡稱為 PIL。PIL 支援開檔、存檔、縮放、旋轉等功能,使用前請先 pip install Pillow
開啟圖片
Pillow 可支援中文檔名,非常的方便
from PIL import Image pil=Image.open("老虎.jpg")
儲存圖片
儲存檔案也支援中文檔名
from PIL import Image pil=Image.open("老虎.jpg) pil=Image.save("老虎2.jpg")
PIL to cv2
使用 np.array(pil) 轉成 cv2 格式。PIL為 RGB 格式,所以要先將 RGB 轉成 cv2 的 BGR 格式
from PIL import Image import numpy as np import cv2 pil=Image.open("老虎.jpg") img=np.array(pil)[:,:,::-1] img=cv2.resize(img, (1024, 768), interpolation=cv2.INTER_CUBIC) cv2.imshow("test", img) cv2.waitKey(0)
cv2 to PIL
使用 Image.fromarray(img) 轉成 PIL 格式,同樣需將BGR 轉成 RGB
pil=Image.fromarray(img[:,:,::-1])
縮圖
thumbnail的效能比 resize 還佳
from PIL import Image import numpy as np import cv2 pil=Image.open("老虎.jpg") pil.thumbnail((400,300)) img=np.array(pil)[:,:,::-1] cv2.imshow("test", img) cv2.waitKey(0)
todo
濾鏡
todo
from PIL import Image from PIL import ImageFilter img = Image.open("test_resized.jpg") img_f = img.filter(ImageFilter.FIND_EDGES) img_f.save("test_rf.jpg")
todo