python pil

pil (python image library) 库是python语言的一个第三方库,pil库支持图像存储、显示和处理,能够处理几乎所有格式的图片。

一、pil库简介

1. pil库主要有2个方面的功能:

(1) 图像归档:对图像进行批处理、生产图像预览、图像格式转换等。

(2) 图像处理:图像基本处理、像素处理、颜色处理等。

2. pil拥有多个类,此处就其中的image类、imagefilter类、imageenhance类做简单介绍。

二、安装库函数

pip install pillow

注:由于本机已经安装了pil库(安装时使用pillow),所以以更新为例,使用 -u 标签可实现更新。

三、使用库函数image类 —— 基本图像处理

1. 调用image类

from pil import image

2. image类关于图像读取与创建

方法

说明

image.open(filename)

加载图像文件

image.new(mode,size,color)

根据给定参数创建新图像

image.open(stringio.stringio(buffer))

从字符串中获取图像

image.frombytes(mode,size,color)

根据像素点创建新图像

image.verify()

对图像完整性进行检查,返回异常

3. image类的常用属性

方法

说明

image.format

图像格式或来源,若图像不是从文件读取,返回none

image.mode

图像的色彩模式,’l’为灰度模式,’rgb’为真彩色图像,’c(青)m(品红)y(黄)k(黑)’为出版图像

image.size

图像的宽度和高度,单位是像素(px),返回值为元组类型

image.palette

调色板属性,返回imagepalette类型

4.image类的序列图像操作方法

方法

说明

image.seek(frame)

跳转并返回图像中的指定帧

image.tell()

返回当前帧的序号

5.image类的图像旋转和缩放方法

方法

说明

image.resize(size)

返回按size大小调整图像的副本

image.rotate(angle)

返回按angle角度旋转图像的副本

6.image类的图像转换和保存方法

方法

说明

image.save(filename,format)

将图像保存为filename文件名,format格式

image.convert(mode)

将图像转换为mode模式

image.thumbnail(size)

创建图像的缩略图,size是缩略图尺寸的元组

example_1:

from pil import image

nest = image.open("d:\\nest.jpg")

r,g,b = nest.split() #获取原图的rgb通道的颜色值

newb = b.point(lambda i:i*1.1) #将b通道的颜色值增强

nest1 = image.merge(nest.mode,(b,g,r))

nest1.save("d:\\nest_1.jpg")

原图与效果图对比:

7.image类的图像像素和通道处理方法

方法

说明

image.point(func)

根据函数func的功能对每个元素进行运算,返回图像副本

image.split()

根据grb图像的每个颜色通道,返回图像副本

image.merge(mode,bands)

合成通道,其中mode为色彩,bands为新的色彩通道

image.blend(im1,im2,alpha)

将2张图片im1和im2按照公式插值后生成新图像

公式:im1*(1.0 - alpha) + im2*alpha

四、使用库函数imagefilter类 —— 图像过滤

1.调用imagefilter类

from pil import imagefilter

2. imagefilter类预定义图像过滤方法

方法

说明

imagefilter.blur

图像的模糊效果

imagefilter.contour

图像的轮廓效果

imagefilter.detail

图像的细节效果

imagefilter.edge_enhance

图像的边界加强效果

imagefilter.edge_enhance_more

图像的阈值边界加强效果

imagefilter.emboss

图像的浮雕效果

imagefilter.find_edges

图像的边界效果

imagefilter.smooth

图像的平滑效果

imagefilter.smooth_more

图像的阈值平滑效果

imagefilter.sharpen

图像的锐化效果

example_2:

from pil import image

from pil import imagefilter

square = image.open("d:\\square.jpg")

square1 = square.filter(imagefilter.contour) #选择轮廓效果

square1.save("d:\\square1.jpg")

原图:

效果图:

五、使用库函数imageenhance类 —— 图像增强

1. 调用imageenhance类

from pil import imageenhance

2.imageenhance类图像增强与滤镜方法

方法

说明

imageenhance.enhance(factor)

对所选属性的数值增强factor倍

imageenhance.color(im)

调整图像的颜色平衡

imageenhance.contrast(im)

调整图像的对比度

imageenhance.brightness(im)

调整图像的亮度

imageenhance.sharpness(im)

调整图像的锐度

example_3:

from pil import image

from pil import imageenhance

gz = image.open("d:\\gz.jpg")

gz1 = imageenhance.brightness(gz) #选择亮度

gz1.enhance(2).save("d:\\gz1.jpg") #将亮度增强2倍后保存

原图对比效果图:

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

pythonpil库过滤图像contour_快乐python 零基础也能P图 —— PIL库相关推荐

  1. pythonpil库过滤图像contour_一秒钟带你走进P图世界-----(python)PIL库的使用

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

  2. 《Python零基础快乐学习之旅》学习笔记13——模块的设计与应用

    文章目录 第13章 模块的设计与应用 13.1 将自建的函数存储在模块中 13.1.1 准备工作 13.1.2 创建函数内容的模块 13.2 应用函数模块 13.2.1 import 语句 13.2. ...

  3. 《Python零基础快乐学习之旅》学习笔记4——基本输入与输出

    第4章 基本输入与输出 4.1 Python的辅助说明help() help()函数可以列出某一个Python的指令或函数的使用说明. >>> help(print) Help on ...

  4. 《Python零基础快乐学习之旅》学习笔记3——Python的基本数据类型

    第3章 Python的基本数据类型 1. 数值数据类型 1.1 整数与浮点数的运算 1.2 强制数据类型的转换 1.3 数值运算常用的函数 2. 布尔值数据类型 3. 字符串数据类型 3.1 字符串的 ...

  5. Python零基础速成班-第12讲-Python获取网络数据Socket,API接口,网络爬虫Crawler(制作弹幕词云)

    Python零基础速成班-第12讲-Python获取网络数据Socket,API接口,网络爬虫Crawler(制作弹幕词云) 学习目标 获取网络数据Socket API接口 网络爬虫Crawler(制 ...

  6. python零基础能学吗-终于知道深圳Python零基础能学吗

    近来一段时间总是有很多人在问深圳Python零基础能学吗到底有没有价值,大家对于深圳Python培训疑问的根源可能来自于多方面的,今天就通过Python能用来做什么,主要学习内容,文字云很难做吗,学P ...

  7. Python零基础速成班-第9讲-Python面向对象编程(上),对象和类、初始化、继承、重写、多态、类方法、组合

    Python零基础速成班-第9讲-Python面向对象编程(上),对象和类.初始化.继承.重写.多态.类方法.组合 学习目标 修饰器 面向对象编程:对象和类.初始化.继承.重写.多态.类方法.组合 课 ...

  8. Python零基础先修课第六周两个单元

    Python零基础先修课第六周两个单元 笔记 第一单元 第二单元 课后练习 第一单元 第二单元 笔记 第一单元 计算生态 计算思维 -抽象.自动化 -实证思维.逻辑思维.计算思维 计算机模拟:模拟现实 ...

  9. Python零基础速成班-第8讲-Python文件操作File IO、高级文件处理模块shutil、CSV、JSON、多线程基础

    Python零基础速成班-第8讲-Python文件操作File I&O.高级文件处理模块shutil.CSV.JSON.多线程基础 学习目标 文件操作File I/O 高级文件处理模块shut ...

最新文章

  1. php 实现域名路由器,域名路由 · ThinkPHP5.0完全开发手册 · 看云
  2. C++基础之指向成员的指针
  3. Django(part23)--Django shell的使用
  4. 使用SAP API portal进行SAP SuccessFactors的API测试
  5. 2020 ICPC亚洲区域赛(沈阳)F-Kobolds and Catacombs(思维+模拟)
  6. Java夺命21连问!(附答案)
  7. linux下环境变量设置的问题
  8. 【算法】排序_快速排序
  9. js获取当前路径的url
  10. 用requests库和BeautifulSoup4库爬取新闻列表
  11. 笔记本wifi共享出来能够连接但是没有网速
  12. 【开箱即用】HTML5教程
  13. Cosmos 是什么?
  14. Sub-Gaussian随机变量
  15. BICEP单元测试计划——四则运算Ⅱ
  16. 适用于监控大屏的websocket
  17. 扬帆优配|高送转+高分红+高增长潜力股揭秘
  18. Python爬取链家成都二手房源信息
  19. VRchat上传角色error无法保存蓝图解决
  20. 表格下拉选项怎么添加,开启快速添加模式

热门文章

  1. AI自动评审论文,CMU这个工具可行吗?
  2. 你真的了解深度学习生成对抗网络(GAN)吗?
  3. 2019年,我终于知道86版西游记到底好在哪里了
  4. 瓶框(bottle)架学习之模版使用
  5. 操作系统学习:启动进入实模式
  6. 链家租房信息案例数据分析
  7. 用户管理之用户的查询获取
  8. java的关键字与保留字
  9. 好想自己做个迷宫呀!
  10. 工业相机帧率与曝光时间的关系