python PIL.Image使用

一、 基本概念

  1. 通道
    每張圖片由一個或多個通道構成
    RGB圖像爲例,每張圖片由3個通道構成,即R通道,G通道,B通道。對於灰度圖像,則只有一個通道。
    獲取圖像的通道數量和名稱,可以由方法PIL.Image.getbands()獲取,此方法返回一個字符串元組,包含每一個通道的名稱

  2. 模式
    圖像的模式定義了圖像的類型和像素的位寬。當前支持如下模式:
    1:1位像素,表示黑和白,但是存儲的時候每個像素存儲爲8bit。
    L:8位像素,表示黑和白。
    P:8位像素,使用調色板映射到其他模式。
    RGB:3x8位像素,爲真彩色。
    RGBA:4x8位像素,有透明通道的真彩色。
    CMYK:4x8位像素,顏色分離。
    YCbCr:3x8位像素,彩色視頻格式。
    I:32位整型像素。黑白圖像
    F:32位浮點型像素。黑白圖像

PIL也支持一些特殊的模式,包括RGBX(有padding的真彩色)和RGBa(有自左乘alpha的真彩色)。

可以通過mode熟悉讀取圖像的模式

  1. 尺寸
    通過size屬性獲取水平和垂直方向上的像素數

  2. 座標系統
    PIL使用笛卡爾像素座標系統,座標(0,0)位於左上角。注意:座標值表示像素的角;位於座標(0,0)處的像素的中心實際上位於(0.5,0.5)。
    座標經常用於二元組(x,y)。長方形則表示爲四元組,前面是左上角座標。例如,一個覆蓋800x600的像素圖像的長方形表示爲(0,0,800,600)。
  3. 調色板
    調色板模式 ("P")使用一個顏色調色板爲每個像素定義具體的顏色值
  4. 信息
    使用info屬性可以爲一張圖片添加一些輔助信息。這個是字典對象。加載和保存圖像文件時,多少信息需要處理取決於文件格式

二、 基本方法和屬性使用
##打開圖像,返回PIL.Image對象
from PIL import Image as Image
image = Image.open(‘image.gpeg’)
##顯示圖像模式,模式概念見第一節基本概念
image.mode
##轉換模式
image.convert(‘1’)

##將一個圖像對象轉爲縮略圖,圖像對象將之間變爲縮略圖,本地圖像不變。
image.thumbnail((680,680))

##調整圖像像素大小,其他參數可以指定過濾器
image.resize((1000,2000))
##旋轉圖像區域,旋轉角度可以爲Image.ROTATE_90,Image.ROTATE_180,Image.ROTATE_270
image.transpose(Image.ROTATE_180)
##旋轉圖像,逆時針表旋轉角度
image.rotate(45)

##截取圖像中的像素區域,拷貝圖像
cropZone = image.crop((100,100,1000,1000))
cropZone = image.copy()
image.paste(cropZone,(100,100,1000,1000))

##獲取、更改某個像素位置的值
image.getpixel((100,100))
image.putpixel((100,100),(0,0,0))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章