)PIL可以做很多和图像处理相关的事情:

  • 图像归档(Image Archives)。PIL非常适合于图像归档以及图像的批处理任务。你可以使用PIL创建缩略图,转换图像格式,打印图像等等。
  • 图像展示(Image Display)。PIL较新的版本支持包括Tk PhotoImage,BitmapImage还有Windows DIB等接口。PIL支持众多的GUI框架接口,可以用于图像展示。
  • 图像处理(Image Processing)。PIL包括了基础的图像处理函数,包括对点的处理,使用众多的卷积核(convolution kernels)做过滤(filter),还有颜色空间的转换。PIL库同样支持图像的大小转换,图像旋转,以及任意的仿射变换。PIL还有一些直方图的方法,允许你展示图像的一些统计特性。这个可以用来实现图像的自动对比度增强,还有全局的统计分析等。

)PIL库Image类介绍

Image类中的函数

1. open(filename) : 根据参数加载图像文件。建议采用文件的全路径,如下面的文件位于d盘中

from PIL import Image

im=Image.open("D:\\十二星座.png")

2. new(mode,size,color): 这个函数创建一幅给定模式(mode)和尺寸(size)的图片,如果省略color参数,则创建的图片被黑色填充满,如果 color 参数是 None 值,则图片还没初始化。

3. open(StringIO.StringIO(buffer)): 从字符串中获取图像。

4.frombytes(mode,size,data):根据像素点(data)创建图像

5.verify :对图像文件完整性进行检查,返回异常。

Image类的常用属性

1.format:识别图像格式或来源,如果图像不是从文件中读取,值为none

2.mode:图像的色彩模式,'L'为灰色图像,'RGB'为真彩色图像,"CMYk"为出版图像。

3.size:图像宽度和高度,单位是像素,返回值为二元元组。

4.palette:调色板属性,返回一个ImagePalette类型

查看已读取的图像文件的属性如下:

print(im.format,im.size,im.mode)

JPEG (900,598),RGB

Image类的方法

1.seek(frame): 跳转并返回图像中的指定帧

2.tell():返回当前帧的序号

3.save(filename,format):将图像保存为filename文件名,format是图片格式

4.convert(mode):使用不同的参数,转换图像为新的模式

5.thumbnail(size):创建图像的缩略图,size是缩略图尺寸的二元元祖

6.resize(size):按size大小调整图像,生成副本。

7.rotate(angle):按angle角度旋转角度,生成副本。

8.point(func):根据函数func的功能对每个元素进行运算,返回图像副本、

9.split(): 提取RGB图像的每个颜色通道,返回图像副本、

10.merge(mode,bands):合并通道,其中mode表示色彩,bands表示新的色彩通道。

11.blend(im1,im2,alpha): 将两幅图片im1和im2按照如下公式插值后生成新的图im3,im1*(1.0-alpha)+im2*alpha

我做的一个实例:

from PIL import Image

from PIL import ImageFilter

from PIL import ImageEnhance

im=Image.open("d:\\十二星座.png")

om=im.filter(ImageFilter.CONTOUR)

om=ImageEnhance.Contrast(im)

om.enhance(120).save("d:\\十二星座.png")

一开始的图片是

使用Image类后

2.对一张图片生成缩略图

from PIL import Image

from PIL import ImageFilter

from PIL import ImageEnhance

im=Image.open("d:\\猴猴厚.png")

im.thumbnail((128,128))

im.save("d:\\猴猴厚.png","png")

两张图做对比:

python PIL库的使用的更多相关文章

  1. Python PIL 库的应用

    PIL (Python Image Library) 库是Python 语言的一个第三方库,PIL库支持图像存储.显示和处理,能够处理几乎所有格式的图片. 一.PIL库简介 1. PIL库主要有2个方 ...

  2. Python PIL库学习笔记

    1.PIL简介 Python Imaging Library(缩写为PIL)(在新的版本中被称为Pillow)是Python编程语言的开源库,它增加了对打开,操作和保存许多不同图像文件格式的支持.它适 ...

  3. 使用Python PIL库中的Image.thumbnail函数裁剪图片

    今天,是我来到博客园的第五天,发现自己还没有头像,想着上传ubuntu系统中我很喜欢的一个背景图片来当头像,但是因为图片过大,上传失败了.那么,我们如何使用python中强大的PIL库来进行图片裁剪呢 ...

  4. python PIL 库处理文件

    通过PIL库提供的API接口可以很方便的处理图像,功能十分强大: 最近有一个替换png背景色的需求,替换背景色的同时又不能够覆盖原来的文字,之前利用perl 的CD 模块一直没能够正确处理,最终用PI ...

  5. Python PIL库之Image注解(API)

    http://blog.csdn.net/xiezhiyong3621/article/details/8499543 class Image Methods defined here: __geta ...

  6. 基于Python PIL实现简单图片格式转化器

    基于Python PIL实现简单图片格式转化器 目录 基于Python PIL实现简单图片格式转化器 1.简介 2.前期资料准备 2.1.1如何实现图片格式转换? 2.1.2如何保存需要大小的图片? ...

  7. Python 之 使用 PIL 库做图像处理

    http://www.cnblogs.com/way_testlife/archive/2011/04/17/2019013.html Python 之 使用 PIL 库做图像处理 1. 简介. 图像 ...

  8. 关于python下安装PIL库遇到的问题及解决办法

    关于python下安装PIL库遇到的问题及解决办法 关于python下安装PIL库遇到的问题及解决办法 :在下面这个网址下载pipllow(a replacement for PIL) www.lfd ...

  9. 一秒钟带你走进P图世界-----(python)PIL库的使用

    python-----PIL库的使用 一.什么是PIL库 1.PIL(Python Image Library)库是python语言的第三方库,具有强大的图像处理能力,不仅包含了丰富的像素.色彩操作功 ...

随机推荐

  1. 删除右键菜单中的Git Gui Here、Git Bash Here的方法

    修改注册表的方法: 1.点击左下角开始菜单 - 运行(输入regedit)- 确定或者回车: 2.在打开的注册表中找到:HKEY_CLASSES_ROOT,并点HKEY_CLASSES_ROOT前面的 ...

  2. 【转载】Jedis对管道、事务以及Watch的操作详细解析

    转载地址:http://blog.csdn.net/liyantianmin/article/details/51613772 1.Pipeline 利用pipeline的方式从client打包多条命 ...

  3. Spring框架总结(十)

    XML方式实现AOP编程 Xml实现aop编程: 1) 引入jar文件 [aop 相关jar, 4个] 2) 引入aop名称空间 3)aop 配置 * 配置切面类 (重复执行代码形成的类) * aop ...

  4. 编写高质量代码改善C#程序的157个建议——建议120:为程序集指定强名称

    建议120:为程序集指定强名称 虽然强名称在设计之初有防止被未授权的第三方软件非法执行程序的作用,但是因为它的破解方法并不难,所以现在强名称更多的意义在于它可以避免出现“DLL HELL”现象. “D ...

  5. 【转载】python计算文件的行数和读取某一行内容的实现方法

    一.计算文件的行数 最简单的办法是把文件读入一个大的列表中,然后统计列表的长度.如果文件的路径是以参数的形式filepath传递的,那么只用一行代码就可以完成我们的需求了: count = len(o ...

  6. 【扫盲贴】为什么屏幕分辨率是 640x480

    本文原地址:http://www.easyx.cn/skills/View.aspx?id=172 常见的屏幕分辨率很奇怪,为什么总用一些不零不整的数字?比如以前最常见的分辨率是 640x480,当初 ...

  7. WebApi跨域请求

    在实际开发中 会有提供webapi给前端js 直接调用的情况, 这时候就会有存在跨域的情况, 解决方案: 在Global中添加代码 protected void Application_BeginRe ...

  8. .net 异步函数 Async await

    .net  异步函数  Async await 一旦为函数添加async关键字 该函数就是一个异步函数. 异步方法必须返回 void 或 Task<> 类型. public static ...

  9. shiro开启realm

    使用缓存,可以解决每次访问请求都查数据库的问题.第一次授权后存入缓存. 缓存流程 shiro中提供了对认证信息和授权信息的缓存.shiro默认是关闭认证信息缓存的,对于授权信息的缓存shiro默认开启 ...

  10. Win RT Webview获取cookie

    方法1: HttpBaseProtocolFilter filter = new HttpBaseProtocolFilter(); var cookis = filter.CookieManager ...