PIL库学习及运用
了解PIL以及安装。
1. PIL库主要有2个方面的功能:
(1) 图像归档:对图像进行批处理、生产图像预览、图像格式转换等。
(2) 图像处理:图像基本处理、像素处理、颜色处理等。
安装PIL在cmd中输入
pip install pillow
就可以在线安装PIL
2对于PIL的简单运用。
使用PIL来对图片进行处理
''' 轮廓效果 --- 素描 '''
from PIL import Image
from PIL import ImageFilter
square = Image.open("F:\BaiduNetdiskDownload\\ball.jpg")
square1 = square.filter(ImageFilter.CONTOUR) #选择轮廓效果
square1.save("F:\BaiduNetdiskDownload\\ball0.jpg")
原图:

效果图:

3.图像增强
ImageEnhance类图像增强与滤镜方法
|
方法 |
说明 |
|
ImageEnhance.enhance(factor) |
对所选属性的数值增强factor倍 |
|
ImageEnhance.Color(im) |
调整图像的颜色平衡 |
|
ImageEnhance.Contrast(im) |
调整图像的对比度 |
|
ImageEnhance.Brightness(im) |
调整图像的亮度 |
|
ImageEnhance.Sharpness(im) |
调整图像的锐度 |
''' 亮度增强 --- 曝光 '''
from PIL import Image
from PIL import ImageEnhance
gz = Image.open("F:\BaiduNetdiskDownload\\ball.jpg")
gz1 = ImageEnhance.Brightness(gz) #选择亮度
gz1.enhance(2).save("F:\BaiduNetdiskDownload\\ball1.jpg") #将亮度增强2倍后保存
原图:

效果图:

4,制作GIF
要求我们安装imageio库,利用pip即可安装。
利用imageio来构建函数,并拼接图片来制造gif
import imageio # 导入imageio库
def creat_gif(image_list, gif_name, duration = 2):
"""
生成gif文件,原始图像仅仅支持png格式;
gif_name : 字符串,所生成的gif文件名,带.gif文件名后缀;
path : 输入图像的路径;
duration : gif图像时间间隔,这里默认设置为1s,当然你喜欢可以设置其他;
"""
# 创建一个空列表,用来存源图像
frames = []
# 利用方法append把图片挨个存进列表
for image_name in image_list:
frames.append(imageio.imread(image_name))
# 保存为gif格式的图
imageio.mimsave(gif_name, frames, 'GIF', duration = duration)
return
def main():
# 自己收集的图片,当然这里也可以爬取网上的图像,加载进来
image_list = ['1.png', '2.png', '3.png', '4.png'] # 源图像,可以随便选取哈
gif_name = 'new.gif'
duration = 1.5
creat_gif(image_list, gif_name)
if __name__ == "__main__":
main()

PIL库学习及运用的更多相关文章
- Python PIL库学习笔记
1.PIL简介 Python Imaging Library(缩写为PIL)(在新的版本中被称为Pillow)是Python编程语言的开源库,它增加了对打开,操作和保存许多不同图像文件格式的支持.它适 ...
- PIL库的运用
PIL库学习及运用 1.库的介绍Python Imaging Library,简称PIL python图像处理库,这个库支持多种文件格式,并提供了强大的图像处理和图形处理能力. 下面是我的学习笔记 首 ...
- PIL库自我学习总结及应用(美白,磨皮,搞笑图片处理)
Hello!今天我们来学习一下这个神奇的图片处理的第三方函数库——PIL库 (本blog部分图片及代码来自网络) 这是一个支持图像存储.显示和处理的函数库,它能够处理几乎所有图像格式,可以完成对图像的 ...
- Python关于PIL库的学习总结与成果展示
一.关于PIL库的学习总结 PIL(Python Image Library)库是Python语言的第三方库,需要通过pip工具安装.安装PIL库的方法如下,需要注意,安装库的名字是pillow. : ...
- PIL库的学习总结及生成GIF
一.PIL库的概述 PIL(Python Image Library)库是Python语言的第三方库,需要通过pip工具安装. 打开cmd,输入 pip install pillow PIL库支持图像 ...
- Python 之 使用 PIL 库做图像处理
http://www.cnblogs.com/way_testlife/archive/2011/04/17/2019013.html Python 之 使用 PIL 库做图像处理 1. 简介. 图像 ...
- python,使用PIL库对图片进行操作
在做识别验证码时,需要对验证码图片进行一些处理,所以就学习了一下PIL的知识,下面是我总结的一些常用方法. 注明:图片的操作都需要Image库,所以要使用import Image导入库 1.打开图片 ...
- [转]Python 之 使用 PIL 库做图像处理
Python 之 使用 PIL 库做图像处理 1. 简介. 图像处理是一门应用非常广的技术,而拥有非常丰富第三方扩展库的 Python 当然不会错过这一门盛宴.PIL (Python Imaging ...
- Python 让我舅舅的书法作品和 PIL 库发生点美的误会
Python 让我舅舅的书法作品和 PIL 库发生点美的误会 1. 前言 不久之前写过一篇文章,详细介绍了 PIL 库中的 Image 模块的使用.曾经学习过.使用过一段时间的 PS,认识 PIL 后 ...
随机推荐
- liunx vi 学习
vi有两种状态:命令态和编辑态 命令态中常用的命令: 上下左右移动的处理4个箭头外还有h(左),j(下),k(上),l(右) 调到屏幕显示的首行H,尾行L,x行:xG 0将光标移动到行首:$到行尾,M ...
- OpenCV中 常用 函数 的作用
1.CV_Assert函数作用: CV_Assert()若括号中的表达式值为false,则返回一个错误信息.
- JavaScript装饰者模式
这里我们通过需求逐渐引出装饰者模式. 下面是一个关于几代汽车的不同逐渐体现装饰者模式的. 首先,我们先引入一个接口文件----目的为检验实现类是否完全实现接口中的方法,代码如下, //定义一个静态方法 ...
- win10 .net3.5的问题及解决方案
近日有网友反映在windows10_64位系统电脑上安装Net framework3.5,操作时总失败,怎么办呢?小编下面就介绍win10 64位系统无法安装Net framework3.5的两种解决 ...
- C#对象与XMl文件之间的相互转换(转)
本文是对C#中对象与XMl文件之间的相互转换进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 C#提供三种序列化方式,分别为:1.是使用BinaryFormatter进行串行化: 2.使 ...
- Webpack 使用url-loader和file-loader打包资源文件
在js中不仅可以通过import引入js文件,还可以引入图片.视频等资源文件,这样webpack打包时就会把所引入的资源文件也一起打包进来 打包进来的文件会返回一个字符串:即文件的路径 要做到这一点, ...
- 对抗生成网络-图像卷积-mnist数据生成(代码) 1.tf.layers.conv2d(卷积操作) 2.tf.layers.conv2d_transpose(反卷积操作) 3.tf.layers.batch_normalize(归一化操作) 4.tf.maximum(用于lrelu) 5.tf.train_variable(训练中所有参数) 6.np.random.uniform(生成正态数据
1. tf.layers.conv2d(input, filter, kernel_size, stride, padding) # 进行卷积操作 参数说明:input输入数据, filter特征图的 ...
- Xilinx Zynq ZC-702 开发(01)—— 概览
1.资料获取:https://github.com/Xilinx(开发所需资源,包括:交叉编译工具,linux kernel 源码,u-boot 源码, device-tree 源码, qemu, ...
- 熟悉Junit单元测试方法
定义: JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个. JUnit有它自己 ...
- JavaScript值全等判断
作为开发员,很多时候拿到数据之后都是要做数据判断,比较特别的情况就是我们需要做数组判断和对象判断,经常的我们就array === array ,object === object;但是可惜是我们得到的 ...