python PIL.Image使用
一、 基本概念
通道
每張圖片由一個或多個通道構成
RGB圖像為例,每張圖片由3個通道構成,即R通道,G通道,B通道。對于灰度圖像,則只有一個通道。
獲取圖像的通道數量和名稱,可以由方法PIL.Image.getbands()獲取,此方法返回一個字符串元組,包含每一個通道的名稱
圖像的模式定義了圖像的類型和像素的位寬。當前支持如下模式:
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熟悉讀取圖像的模式
尺寸
通過size屬性獲取水平和垂直方向上的像素數
PIL使用笛卡爾像素坐標系統,坐標(0,0)位于左上角。注意:坐標值表示像素的角;位于坐標(0,0)處的像素的中心實際上位于(0.5,0.5)。
坐標經常用于二元組(x,y)。長方形則表示為四元組,前面是左上角坐標。例如,一個覆蓋800x600的像素圖像的長方形表示為(0,0,800,600)。
調色板模式 ("P")使用一個顏色調色板為每個像素定義具體的顏色值
使用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))
轉載于:https://blog.51cto.com/9429042/2118480
總結
以上是生活随笔為你收集整理的python PIL.Image使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: laravel 命令行输出进度条
- 下一篇: 漫谈 | “黎曼猜想”和区块链加密算法到