一、 基本概念\n\n通道\n每张图片由一个或多个通道构成\nRGB图像为例,每张图片由3个通道构成,即R通道,G通道,B通道。对于灰度图像,则只有一个通道。\n获取图像的通道数量和名称,可以由方法PIL.Image.getbands()获取,此方法返回一个字符串元组,包含每一个通道的名称\n\n模式\n图像的模式定义了图像的类型和像素的位宽。当前支持如下模式:\n1:1位像素,表示黑和白,但是存储的时候每个像素存储为8bit。\nL:8位像素,表示黑和白。\nP:8位像素,使用调色板映射到其他模式。\nRGB:3x8位像素,为真彩色。\nRGBA:4x8位像素,有透明通道的真彩色。\nCMYK:4x8位像素,颜色分离。\nYCbCr:3x8位像素,彩色视频格式。\nI:32位整型像素。黑白图像\nF:32位浮点型像素。黑白图像\nPIL也支持一些特殊的模式,包括RGBX(有padding的真彩色)和RGBa(有自左乘alpha的真彩色)。\n\n可以通过mode熟悉读取图像的模式\n\n尺寸\n通过size属性获取水平和垂直方向上的像素数\n\n坐标系统\nPIL使用笛卡尔像素坐标系统,坐标(0,0)位于左上角。注意:坐标值表示像素的角;位于坐标(0,0)处的像素的中心实际上位于(0.5,0.5)。\n坐标经常用于二元组(x,y)。长方形则表示为四元组,前面是左上角坐标。例如,一个覆盖800x600的像素图像的长方形表示为(0,0,800,600)。\n调色板\n调色板模式 (\"P\")使用一个颜色调色板为每个像素定义具体的颜色值\n信息\n使用info属性可以为一张图片添加一些辅助信息。这个是字典对象。加载和保存图像文件时,多少信息需要处理取决于文件格式\n二、 基本方法和属性使用\n##打开图像,返回PIL.Image对象\nfrom PIL import Image as Image\nimage = Image.open(‘image.gpeg’)\n##显示图像模式,模式概念见第一节基本概念\nimage.mode\n##转换模式\nimage.convert(‘1’)\n\n##将一个图像对象转为缩略图,图像对象将之间变为缩略图,本地图像不变。\nimage.thumbnail((680,680))\n\n##调整图像像素大小,其他参数可以指定过滤器\nimage.resize((1000,2000))\n##旋转图像区域,旋转角度可以为Image.ROTATE_90,Image.ROTATE_180,Image.ROTATE_270\nimage.transpose(Image.ROTATE_180)\n##旋转图像,逆时针表旋转角度\nimage.rotate(45)\n\n##截取图像中的像素区域,拷贝图像\ncropZone = image.crop((100,100,1000,1000))\ncropZone = image.copy()\nimage.paste(cropZone,(100,100,1000,1000))\n\n##获取、更改某个像素位置的值\nimage.getpixel((100,100))\nimage.putpixel((100,100),(0,0,0))
Python image库
最新推荐文章于 2024-08-20 08:55:15 发布
本文介绍了PIL库中图像的基本概念,如通道(如RGB和灰度图像)、模式(如1、L、RGB等)和尺寸。还详细阐述了图像的坐标系统以及调色板的作用。此外,文章列举了如何使用PIL进行图像操作,包括打开图像、转换模式、生成缩略图、旋转、调整大小以及截取和修改像素值。
摘要由CSDN通过智能技术生成