Python之PIL库的运用、GIF处理
一.PIL库简介
PIL(Python Image Library)库是Python语言的第三方库,它支持图像存储、显示和处理,它能够处理几乎所有图片格式,可以完成对图像的缩放、剪裁、折叠以及像图片添加线条、图像和文字等操作。
1.PIL库主要可以实现图像归档和图像处理两方面功能需求。
(1)图像归档:对图像进行批处理、生成图像预览、图像格式转换等。
(2)图像处理:图像基本处理、像素处理、颜色处理等。
二.PIL库的子库(共21个)
现仅选取Image类、ImageFilter类与ImageEnhance类进行介绍。
1.Image类
1.1 Image类的图像读取与创建
方法 | 描述 |
Image.open(filename) | 根据参数加载图像文件 |
Image.new(mode,size,color) | 根据给定参数创建一个新的图像 |
Image.open(StringIO.StringIO(buffer)) | 从字符串中获取图像 |
Image.frombytes(mode,size,data) | 根据像素点data创建图像 |
Image.verify() | 对图像文件完整性进行检查,返回异常 |
现在通过如下代码:
1 from PIL import Image 2 im=Image.open('C:\\Users\\HJY\\Desktop\\five.jpg') #读取图片 3 im.show() #展示图片
然后用系统自带图片处理器展示图片:
1. 2 Image类的常用属性:
方法 |
说明 |
Image.format |
图像格式或来源,若图像不是从文件读取,返回None |
Image.mode |
图像的色彩模式,’L’为灰度模式,’RGB’为真彩色图像,’C(青)M(品红)Y(黄)K(黑)’为出版图像 |
Image.size |
图像的宽度和高度,单位是像素(px),返回值为元组类型 |
Image.palette |
调色板属性,返回ImagePalette类型 |
1.3 Image类的图像转换和保存方法:
方法 |
说明 |
Image.save(filename,format) |
将图像保存为filename文件名,format格式 |
Image.convert(mode) |
将图像转换为mode模式 |
Image.thumbnail(size) |
创建图像的缩略图,size是缩略图尺寸的元组 |
尝试做图像的缩略图,输入如下代码:
1 from PIL import Image 2 im=Image.open('C:\\Users\\HJY\\Desktop\\five.jpg') 3 im.thumbnail((128,128)) 4 im.save("minifive","PNG")
结果:(超小的)
1.4 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 |
现在我尝试交换图像中的颜色,输入如下代码:
1 from PIL import Image 2 im=Image.open('C:\\Users\\HJY\\Desktop\\five.jpg') 3 r,g,b=im.split() 4 om=Image.merge("RGB",(b,g,r)) 5 om.save('fivebgr.jpg')
原图——新图
(哈哈,有些可怕)
2.ImageFilter类(图像的过滤)
2.1 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 |
图像的锐化效果 |
有这么多功能,我就尝试一下其中一个吧。
输入代码:
1 from PIL import Image 2 from PIL import ImageFilter 3 im=Image.open('C:\\Users\\HJY\\Desktop\\five.jpg') 4 om=im.filter(ImageFilter.CONTOUR) 5 om.save('fiveCONTOUR.png')
轮廓版图像:
3.ImageEnhance类(图像增强)
3.1 ImageEnhance类图像增强与滤镜方法
方法 |
说明 |
ImageEnhance.enhance(factor) |
对所选属性的数值增强factor倍 |
ImageEnhance.Color(im) |
调整图像的颜色平衡 |
ImageEnhance.Contrast(im) |
调整图像的对比度 |
ImageEnhance.Brightness(im) |
调整图像的亮度 |
ImageEnhance.Sharpness(im) |
调整图像的锐度 |
在这就不展示了,大家自己尝试一下吧~
三、GIF
我选取一个gif对它进行分解
输入代码:
1 from PIL import Image 2 im=Image.open('D:\\kaixin.gif') 3 try: 4 im.save('picframe{:02d}.png'.format(im.tell())) 5 while True: 6 im.seek(im.tell()+1) 7 im.save('picframe{:02d}.png'.format(im.tell())) 8 except: 9 print("处理结束")
结果:(哇~)
The end...
转载于:https://www.cnblogs.com/hjy567jiayouya/p/10705528.html
Python之PIL库的运用、GIF处理相关推荐
- db2top详细使用方法_Py之PIL:Python的PIL库的简介、安装、使用方法详细攻略
Py之PIL:Python的PIL库的简介.安装.使用方法详细攻略 目录 PIL库的简介 PIL库的安装 PIL库的用方法 1.几何图形的绘制与文字的绘制 2.绘制图形的各种案例 PIL库的简介 PI ...
- Python之PIL之绘图:基于Python的PIL库绘制各种图形、添加文字等
Python之PIL之绘图:基于Python的PIL库绘制各种图形.添加文字等 目录 一.绘制各种形状各种案例 1.绘制矩形 2.绘制圆形.弧线形
- Py之PIL:Python的PIL库的简介、安装、使用方法详细攻略
Py之PIL:Python的PIL库的简介.安装.使用方法详细攻略 目录 PIL库的简介 PIL库的安装 PIL库的用方法 1.几何图形的绘制与文字的绘制 2.绘制图形的各种案例 PIL库的简介 PI ...
- Python Pillow(PIL)库的用法介绍(二)
Python Pillow(PIL)库的用法介绍(二) 在上一篇文章中介绍了Pillow库的一些基本用法,参考:https://blog.csdn.net/weixin_43790276/articl ...
- Python:PIL库中getpixel()-方法的使用
Python:PIL库中getpixel()方法的使用 getpixel()函数是用来获取图像中某一点的像素的RGB颜色值,getpixel的参数是一个像素点的坐标.对于图象的不同的模式,getpix ...
- python的PIL库部分模块函数
python的PIL库部分模块函数 1.Image.open("文件路径") 打开图片文件 1.image.convert(mode) 将其转换为某模式 2.Image.new(模 ...
- 新发的日常小实验——使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍数(Unity、PIL、Pillow、压缩)
文章目录 一.问题:图片导入Unity被调整成2的N次方 二.设置不转换成2的N次方 三.使用ETC压缩格式,图片宽高必须是4的倍数 四.使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍 ...
- 使用python中PIL库进行切图时候出现了图片全黑
使用PIL的Image切图时候图片全黑 不知道大家有没有遇见这样得问题,使用python中PIL库进行切图时候出现了图片全黑得现象 今天写了个切图得代码,但是得到得图片是全黑的,像这样的情况: 不知道 ...
- 通过Python的PIL库给图片添加马赛克
文章目录 前言 一.Pillow是什么? 二.安装PIL库 三.查看PIL库版本 四.使用方法 1.引入库 2.定义图片路径 3.打开需要打马赛克的图片 4.获取图片尺寸 5.创建一个新的图片对象 6 ...
- python 用PIL库缩放图片并保存
python 用PIL库缩放图片并保存 PIL库安装 pip install pillow 单个图片缩放 from PIL import Imageimagepath = r'.\img\number ...
最新文章
- Weighted distance in sklearn KNN
- css知识点笔记-常见特性
- freeRtos学习笔记 (8) 任务通知
- Bootstrap 栅格 样式 组件 插件
- Nginx安装及其编译命令、详细教程
- 【ElasticSearch】Es 源码之 CacheService 源码解读
- AcWing1075. 数字转换(树形DP)题解
- C++ 编写 CorelDRAW CPG 插件例子(1)—WelcomeScreen
- oracle 修改子分区,Oracle子分区(sub partition)操作
- 医学图像处理眼科检查
- Excel单元格显示数据与实际数据不一致的设置与清除
- 室内地图导航shopcloud
- git错误:error: failed to push some refs to
- Spring BcryptPasswordEncorder Log Rounds参数说明
- xp打开网页显示服务器错误怎么办,winxp系统IE浏览器出现Internet无法打开站点错误提示怎么办...
- Golang包管理工具(三)之dep的使用
- C语言趣味一百道 第25题 2017_12_24
- 乐字节最全面向对象深入1
- excel查找空值快捷键_CTRL+G,EXCEL中你必须要学会的快捷键
- Record: Linux指令笔记