python影像處理之PIL庫
- 2019 年 11 月 2 日
- 筆記
- PIL庫是python語言第三方庫,需要通過pip工具安裝,安裝庫的名字是pillow。
PIL庫支援影像存儲,顯示和處理,它能夠處理幾乎所有圖片格式,可以完成對影像的縮放,裁剪,疊加以及向影像添加線條,影像和文字等操作。
功能需求:
- 影像歸檔:對影像進行批處理,生成影像預覽,影像格式轉換等。
- 影像處理:影像基本處理,像素處理,顏色處理等。
- PIL庫Image類解析
導入方法:from PIL import Image
要載入一個影像文件,最簡單的形式如下,之後所有操作對im起作用
from PIL import Image im=Image.open("H:\Google下載\b.jpg")
常用屬性:
- format:源文件的文件格式。如果是由PIL創建的影像,則其文件格式為None。
- mode:影像的模式。這個字元串表明影像所使用像素格式。該屬性典型的取值為“1”,“L”,“RGB”或“CMYK”。
- size:影像的尺寸,按照像素數計算。它的返回值為寬度和高度的二元組(width, height)。
- palette:顏色調色板表格。如果影像的模式是“P”,則返回ImagePalette類的實例;否則,將為None。
微實例:
from PIL import Image im=Image.open("H:\Google下載\b.jpg") print(im.format,im.size,im.mode)

微實例:
交換影像的顏色。可以通過分離RGB圖片的3個顏色通道實現顏色互換。
from PIL import Image im=Image.open("H:\Google下載\b.jpg") r,g,b=im.split() om=Image.merge("RGB",(b,g,r)) om.save("H:\Google下載\b.jpg")
交換前:

交換後:

- PIL庫ImageFilter類解析
- BLUR:模糊濾鏡。會使圖片較原先的模糊一些。
- CONTOUR:等高線。也就是輪廓濾波,將影像中的輪廓資訊提取出來。
- DETALL:細節。也就是細節增強濾波,它會顯化圖片中細節。
- EDGE_ENHANCE:邊緣強化。邊緣增強濾波,突出、加強和改善影像中不同灰度區域之間的邊界和輪廓的影像增強方法。經處理使得邊界和邊緣在影像上表現為影像灰度的突變,用以提高人眼識別能力。
- EDGE_ENHANCE_MORE :邊緣更強。深度邊緣增強濾波,會使得影像中邊緣部分更加明顯。
- EMBOSS :浮雕。浮雕濾波,會使影像呈現出浮雕效果。
- FIND_EDGES :邊緣查找。尋找邊緣資訊的濾波,會找出影像中的邊緣資訊。
- SMOOTH :光滑。平滑濾波,突出影像的寬大區域、低頻成分、主幹部分或抑制影像雜訊和干擾高頻成分,使影像亮度平緩漸變,減小突變梯度,改善影像品質。
- SMOOTH_MORE:更加光滑。深度平滑濾波,會使得影像變得更加平滑。
- SHARPEN:銳化。銳化濾波,補償影像的輪廓,增強影像的邊緣及灰度跳變的部分,使影像變得清晰。
微實例:
from PIL import Image from PIL import ImageFilter im=Image.open("H:\Google下載\b.jpg") om=im.filter(ImageFilter.CONTOUR) om.save("H:\Google下載\b.jpg")
處理後:



