kinght2008 发表于 2018-8-8 10:14:43

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))
页: [1]
查看完整版本: python PIL.Image使用