PIL庫的使用(持續更新中)

pip install pillow 導入庫

1.打開並保存照片

PIL庫包括21個類,其中Image類是 PIL 庫中一個非常重要的類,Image類提供多種方法可以進行圖像文件的讀寫和處理。要想使用這些方法,需要從PIL庫導入Image模塊,方法如下:

(打開照片,並打印照片的編碼格式,尺寸,渲染顏色方式)

import PIL.Image as Image

image=Image.open("image/1.jpg")
print(image.format,image.size,image.mode)
image.show()
image.save("2.jpg")

2.圖像的顏色轉換

圖像有不同顏色模式。在RGB模式下,每張圖片由三個顏色通道R、G、B疊加而成。可以使用split()分離三個顏色通道,對每種顏色分別處理,再用merge()把幾個通道合併形成新的圖像。還可以使用convert()將圖像轉換爲不同的顏色模式參數。代碼如下:

from PIL import Image #導入庫
im=Image.open("image/1.jpg")#打開image文件夾下的1.jpg文件
im.show()#顯示照片
r,g,b=im.split()#讀取圖片的rgb三色,並賦值給r,g,b
im=Image.merge("RGB",(b,g,r))#爲圖片重新渲染,並把之前讀取到的rgb三色掉換成b,g,r
im.show()#顯示照片

3.圖像的過濾和增強

PIL中的ImageFilter模塊和ImageEnhance模塊提供了過濾圖像和增強圖像的方法。ImageFilter模塊預定義了10種圖像過濾方法,可以提取圖像輪廓、圖像銳化、圖像平滑等,主要使用 filter()方法實現。ImageEnhance模塊專門用於圖像的增強處理,可以增強(或減弱)圖像的亮度、對比度、色度等

from PIL import Image #導入PIL下的Image包
from PIL import ImageFilter#導入PIL下的ImageFilter包
from PIL import ImageEnhance#導入PIL下的ImageEnhance包

im=Image.open("image/1.jpg")#讀取照片
im.show()#顯示照片
detfilter=im.filter(ImageFilter.DETAIL)#圖像細節增強
detfilter.show()#顯示處理後的圖像
confilter=im.filter(ImageFilter.CONTOUR)#圖像輪廓效果
confilter.show()#顯示處理後的圖像
sntfilter=im.filter(ImageFilter.SMOOTH)#圖像平滑
sntfilter.show()#顯示處理後的圖像
sharpfilter=im.filter(ImageFilter.SHARPEN)#圖像銳化
sharpfilter.show()#顯示處理後的圖像
# 亮度增強(調整圖像的亮度)
enh_bri=ImageEnhance.Brightness(im)#創建一個調整圖像亮度的增強對象
brightness=1.5#設置因子變量
image_brightened=enh_bri.enhance(brightness)#增強brightness倍
image_brightened.show()#顯示處理後的圖像

#色度增強(調整圖像的顏色均衡)
enh_col=ImageEnhance.Color(im)#創建一個增強對象,以調整圖像的顏色
color=1.5#設置因子變量
image_colored=enh_col.enhance(color)#增強color倍
image_colored.show()#顯示處理後的圖像

#對比度增強(調整圖像的對比度)
enh_con=ImageEnhance.Contrast(im)#創建一個調整圖像對比度的增強對象
contrast=1.5#設置因子變量
image_contrasted=enh_con.enhance(contrast)#增強contrast倍
image_contrasted.show()#顯示處理後的圖像

#銳度增強
enh_sha=ImageEnhance.Sharpness(im)#創建一個調整圖像銳度的增強對象
sharpeness=3.0#設置因子變量
image_sharped=enh_col.enhance(sharpeness)#增強sharpeness倍
image_sharped.show()#顯示處理後的圖像
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章