Python圖片處理

Python PIL 函數

        PIL (Python Image Library) 庫是Python 語言的一個第三方庫,PIL庫支持圖像存儲、顯示和處理,可以處理幾乎全部格式的圖片。spa

1、PIL庫簡介code

1. PIL庫主要有2個方面的功能:orm

(1) 圖像歸檔:對圖像進行批處理、生產圖像預覽、圖像格式轉換等。blog

(2) 圖像處理:圖像基本處理、像素處理、顏色處理等。圖片

2. PIL擁有多個類,此處就其中的Image類、ImageFilter類、ImageEnhance類作簡單介紹。utf-8

 

2、安裝庫函數ci

3、使用庫函數Image類 —— 基本圖像處理字符串

1. 調用Image類it

from PIL import Image

 

2. Image類關於圖像讀取與建立

方法

說明

Image.open(filename)

加載圖像文件

Image.new(mode,size,color)

根據給定參數建立新圖像

Image.open(StringIO.StringIO(buffer))

從字符串中獲取圖像

Image.frombytes(mode,size,color)

根據像素點建立新圖像

Image.verify()

對圖像完整性進行檢查,返回異常

 

3. Image類的經常使用屬性

方法

說明

Image.format

圖像格式或來源,若圖像不是從文件讀取,返回None

Image.mode

圖像的色彩模式,’L’爲灰度模式,’RGB’爲真彩色圖像,’C(青)M(品紅)Y(黃)K(黑)’爲出版圖像

Image.size

圖像的寬度和高度,單位是像素(px),返回值爲元組類型

Image.palette

調色板屬性,返回ImagePalette類型

 

4.Image類的序列圖像操做方法

方法

說明

Image.seek(frame)

跳轉並返回圖像中的指定幀

Image.tell()

返回當前幀的序號

 

5.Image類的圖像旋轉和縮放方法

方法

說明

Image.resize(size)

返回按size大小調整圖像的副本

Image.rotate(angle)

返回按angle角度旋轉圖像的副本

 

6.Image類的圖像轉換和保存方法

方法

說明

Image.save(filename,format)

將圖像保存爲filename文件名,format格式

Image.convert(mode)

將圖像轉換爲mode模式

Image.thumbnail(size)

建立圖像的縮略圖,size是縮略圖尺寸的元組

 

# -*- encoding:utf-8 -*-
''' 改變顏色 --- 顏色反轉'''
from PIL import Image
nest = Image.open("D:\\nest.jpg")
r,g,b = nest.split()           #獲取原圖的RGB通道的顏色值
newb = b.point(lambda i:i*1.1) #將B通道的顏色值加強
nest1 = Image.merge(nest.mode,(b,g,r))
nest1.thumbnail((400,254))     #建立縮略圖
nest1.save("D:\\nest_2.jpg")

7.Image類的圖像像素和通道處理方法

方法

說明

Image.point(func)

根據函數func的功能對每一個元素進行運算,返回圖像副本

Image.split()

根據GRB圖像的每一個顏色通道,返回圖像副本

Image.merge(mode,bands)

合成通道,其中mode爲色彩,bands爲新的色彩通道

Image.blend(im1,im2,alpha)

將2張圖片im1和im2按照公式插值後生成新圖像

公式:im1*(1.0 - alpha) + im2*alpha

 

 4、使用庫函數ImageFilter類 —— 圖像過濾

1.調用ImageFilter類

from PIL import ImageFilter

 

2. ImageFilter類預約義圖像過濾方法

方法

說明

ImageFilter.BLUR

圖像的模糊效果

ImageFilter.CONTOUR

圖像的輪廓效果

ImageFilter.DETAIL

圖像的細節效果

ImageFilter.EDGE_ENHANCE

圖像的邊界增強效果

ImageFilter.EDGE_ENHANCE_MORE

圖像的閾值邊界增強效果

ImageFilter.EMBOSS

圖像的浮雕效果

ImageFilter.FIND_EDGES

圖像的邊界效果

ImageFilter.SMOOTH

圖像的平滑效果

ImageFilter.SMOOTH_MORE

圖像的閾值平滑效果

ImageFilter.SHARPEN

圖像的銳化效果

# -*- encoding:utf-8 -*-
''' 輪廓效果 --- 素描 '''
from PIL import Image
from PIL import ImageFilter
square = Image.open("D:\\square.jpg")
square1 = square.filter(ImageFilter.CONTOUR)  #選擇輪廓效果
square1.save("D:\\square0.jpg")
複製代碼
相關文章
相關標籤/搜索