PIL库学习及运用

  1. 了解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()  

原文地址:https://www.cnblogs.com/z2273533704/p/10687032.html

时间: 2024-08-02 06:27:44

PIL库学习及运用的相关文章

Python关于PIL库的学习总结与成果展示

一.关于PIL库的学习总结 PIL(Python Image Library)库是Python语言的第三方库,需要通过pip工具安装.安装PIL库的方法如下,需要注意,安装库的名字是pillow. :\>pip install pillow      #或者    pip3 install pillow PIL库支持图像储存.显示和处理,他能够处理几乎所有图片格式,可以完成对图像的缩放.剪裁.叠加以及向图像添加线条.图像和文字等操作. PIL库主要可以实现图像归档和图像处理两方面功能需求. (1

有关Python的PIL库的学习体会和实例

今天给各位介绍的是有关PIL库的学习. 首先介绍一下PIL库,总所周知,PIL库是一个功能强大的图片处理框架. 话不多说,下面就让各位看一下我的成果吧,主要是对图片的缩略图,改变颜色,轮廓,浮雕操作,以及提取GIF图像的每一帧. 第一,我举例出一个图的效果 首先是缩略图 以下是代码 以下是效果 原图是 再说改变颜色 上边是效果,具体代码如下 这个是图片颜色变换的代码 至于轮廓 效果如下图 浮雕操作和轮廓操作类似,只不过是将原来的‘ImageFilter.CONTOUR’更改为‘ImageFilt

PIL库的学习

PIL库概述 PIL库可以完成图像归档和图像处理两方面功能需求: 图像归档:对图像进行批处理.生成图像预览.图像格式转换等: 图像处理:图像基本处理.像素处理.颜色处理等. 基本方法:①Image.open(filename):根据参数加载图像文件.可填入图像的具体的储存位置.②<图像变量>.save('储存地址'):储存处理后的图像. 1.Image类.[任何一个图像文件都可以用Image对象表示Image类的图像读取和创建方法] from PIL import Image 这里只简要解析几

python,使用PIL库对图片进行操作

在做识别验证码时,需要对验证码图片进行一些处理,所以就学习了一下PIL的知识,下面是我总结的一些常用方法. 注明:图片的操作都需要Image库,所以要使用import Image导入库 1.打开图片 import Imageimg=Image.open("code.jpg") 注:有些图片名称是包含中文的,就需要在""前加上u,例:img=Image.open(u"阿布.jpg") 以下各个操作均是基于原图进行的修改,原图为: 2.展示图片 im

Python 之 使用 PIL 库做图像处理

Python 之 使用 PIL 库做图像处理 1. 简介. 图像处理是一门应用非常广的技术,而拥有非常丰富第三方扩展库的 Python 当然不会错过这一门盛宴.PIL (Python Imaging Library)是 Python 中最常用的图像处理库,目前版本为 1.1.7,我们可以 在这里 下载学习和查找资料. Image 类是 PIL 库中一个非常重要的类,通过这个类来创建实例可以有直接载入图像文件,读取处理过的图像和通过抓取的方法得到的图像这三种方法. 2. 使用. 导入 Image

如何在windows下安装Python的PIL库

最近在学习廖大大的Python教程,今天正好学习到“安装第三方模块”这一章节,第一个任务就是安装“PIL”库. PIL库是个啥?廖大大的告诉我们: Python Imaging Library,这是Python下非常强大的处理图像的工具库.一般来说,第三方库都会在Python官方的pypi.python.org网站注册,要安装一个第三方库,必须先知道该库的名称,可以在官网或者pypi上搜索,比如Python Imaging Library的名称叫PIL,因此,安装Python Imaging L

PIL库的简单操作

灰度图和RGB图 灰度图是一个二维数组,每个值都表示这个像素点的灰度值(0到255之间的一个值),数组的维度(shape)则表示这个图片的长宽(单位像素px),先看个例子 from PIL import Image import numpy as np data = np.ones((16, 16), dtype=np.uint8) # 创建一个全1的数组 data = data * 255 # 数组所有元素乘以255 print(data) data[4:12, 8] = 0 # 将中间的一些

记一次python安装PIL库所遇到的事

自学python,要用到PIL这个很出名的库,那就安装呗 大家都知道python下,用easy_install命令安装特简单,命令如下: 好吧,这样我们安装完了,我们再去%PYTHON_HOME%\Lib\site-packages文件夹下看看是否已经有对用的库文件了 好的,如上图所示,也已经有了,对了,上面的PIL包是我另外安装的,如果你只是用easy_install命令安装的话,site-packages文件夹下面是不会有PIL这个文件夹的, 而PIL文件夹是我从网下载的安装程序,地址是ht

【python标准库学习】thread,threading(二)多线程同步

继上一篇介绍了python的多线程和基本用法.也说到了python中多线程中的同步锁,这篇就来看看python中的多线程同步问题. 有时候很多个线程同时对一个资源进行修改,这个时候就容易发生错误,看看这个最简单的程序: import thread, time count = 0 def addCount(): global count for i in range(100000): count += 1 for i in range(10): thread.start_new_thread(ad