python常用框架工具之pillow——华为AI学习笔记12

举报
darkpard 发表于 2022/02/19 10:52:27 2022/02/19
【摘要】 1. 简介首先要介绍下PIL。它已经被默认为python平台上的图像处理标准库,功能强大,使用简单。但它只支持到python2.7,多年没人进行完整的维护,存在一些缺陷和兼容性问题。pillow由一群志愿者在PIL基础上创作,不仅支持python2也支持python3,且增加了一些新功能。1.1. 三大功能图像处理功能:图像处理、像素处理、颜色处理、图像旋转、裁剪等图像批处理:生成图像预览、...

1. 简介

首先要介绍下PIL。它已经被默认为python平台上的图像处理标准库,功能强大,使用简单。但它只支持到python2.7,多年没人进行完整的维护,存在一些缺陷和兼容性问题。

pillow由一群志愿者在PIL基础上创作,不仅支持python2也支持python3,且增加了一些新功能。

1.1. 三大功能

  1. 图像处理功能:图像处理、像素处理、颜色处理、图像旋转、裁剪等

  2. 图像批处理:生成图像预览、图像格式转换等

  3. 其他:屏幕捕获、绘图、滤镜等

1.2. 常见模块

  1. imageDraw

包括2D图像创建、注释、动态生成图形等

  1. imageFilter

提供预定义的一组过滤器,像上面提到的滤镜

  1. imageChops

包含了多个算术图像操作

  1. imageEnhance

提供了一些图像增强的操作,比如增加对比度、增强亮度

  1. imageWin

windows上图像操作

  1. imageops

提供了很多封装好的方法,如图像翻转、增加曝光度等

2. pillow的图像操作

2.1. Image模块

2.1.1. open(img),读取,类似python中的open

图片

2.1.2. eval(img,*args) 像素操作

2.1.3. new(mode,size,color=0),mode指RGB等

图片

2.1.4. 图像的操作

2.1.4.1. format,查看格式,后缀名,format

图片

2.1.4.2. size,尺寸

图片

2.1.4.3. thumbnail,缩放,可以等比例缩放,缩放成缩略图

图片

2.1.4.4. show,展示图像,打印出来的是内存地址。与matplotlib的show相似,但它展示后不会释放,可以多次展示

2.1.4.5. save,保存,保存为指定文件

2.1.4.6. transpose,翻转

图片图片图片

2.1.4.7. crop,切割,可以按像素或者等比例切割

图片

2.1.4.8. rotate,逆时针旋转

图片

2.1.4.9. resize,重新定义大小,与numpy中的reshape相似。但reshape要求数据量不变,resize可以改变数据量

图片

2.2. ImageOps模块

2.2.1. autocontrast

参数:图片,百分比,把最暗的转化为黑色,最亮的转化为白色,提高对比度

图片

2.2.2. crop

从四周进行图片删除,默认四个方向等量,可以指定元组来自定义

图片

图片

2.2.3. deform

变形

2.2.4. expand

crop的逆操作,填充一些像素。border是要填充的量,值的话4方向等量,可以传元组

图片

2.2.5. fit

将图像裁剪为指定尺寸,centering=(0.5,0.5),表示从中间开始裁剪

2.2.6. flip

垂直翻转图像

2.2.7. grayscale

转化为灰度图

彩色是三维的,有时候我们不需要,可转为灰度

图片

2.2.8. mirror

水平翻转图像

2.2.9. solarize

像素值反转,指定阈值,大于阈值的反转。

比如阈值为0,100变成255-100

2.2.10. invert

所有的像素值都进行反转

比如0变255

图片

2.3. ImageFilter模块

主要是滤镜

2.3.1. BoxBlur

图像模糊,给定半径,9宫格做均值达到模糊

图片

2.3.2. GaussianBlur

高斯模糊,半径指模糊程度,0代表没有区别

图片

2.3.3. CONTOUR

轮廓

图片

2.3.3. Kernel

创建卷积核,神经网络中常用

有些版本只支持33或55

2.3.4. MedianFilter

创建中值滤波器

图片

2.3.5. MinFilter

从给定窗口中选取最小值

2.3.6. MaxFilter

与MinFilter相反

2.4. ImageEnhance

2.4.1. Color

色彩平衡

图片

2.4.2. Contrast

对比度增强

图片

2.4.3. Brightness

调整亮度

图片

2.4.4. Sharpness

调整清晰度

图片

3. 绘图功能ImageDraw

3.1. 画图

ImageDraw.Draw(img,mode=None)

3.2. 椭圆

ellips(xy,fill=None,outline=None,width=0)

xy是起止点的坐标位置,outline是线,width是线的宽度

3.3. 直线

line(xy,fill=None,width=0,joint=None)

3.4. 多边形

polygon(xy,fill=None,outline=None)

图片

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。