文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python PIL库的使用

2023-01-31 00:25

关注

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

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

(2)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")

两张图做对比:

 

 

 

 

 

 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯