pillow库的主要作用(pillow库怎么用)

pillow库的主要作用(pillow库怎么用)h4 h4 前言 这篇文章仅是我学习 pilllow 后的总结 如果有错望各位大佬指出 pillow 有时也称 PIL 库 是 Python 图像处理的基础库 它是一个免费开源的第三方库 由一群 Python 社区志愿者使用 Python 语言开发而成 如果要使用需要下载 2

大家好,我是讯享网,很高兴认识大家。



 <h4></h4> 

讯享网

前言:这篇文章仅是我学习pilllow后的总结,如果有错望各位大佬指出。

pillow(有时也称 PIL 库) 是 Python 图像处理的基础库,它是一个免费开源的第三方库,由一群 Python 社区志愿者使用 Python 语言开发而成,如果要使用需要下载。

2.1IDLE安装pillow

按下win+r打开运行窗口,在窗口输入cmd然后按下回车后就打开cmd(命令提示符)了

在cmd中输入

讯享网

如果安装不成功可以输入以下代码查看pip版本

 

pip版本较低的话可以先输入下面的代码升级版本

讯享网

pip是Python的包管理工具,全称是“pip installs packages”,意为“安装包”。通过pip,用户可以方便地安装、卸载和管理Python的第三方库。

待安装完成后在cmd中输入pip list来查看是否安装成功

 


讯享网

如果输出结果有pillow说明安装成功

2.2pycharm安装pillow

在pycharm的中端下输入

讯享网
ImageImage类支持图片的基本操作,如Image.open(filename)用于打开图片等ImageDrawImageDraw类支持各种几何图形的绘制和文本的绘制,如直线、椭圆、弧、弦、多边形以及文字等。ImageFontImageFont支持在图片上添加汉字,如为图片添加水印等

Image类中图片的读取和创建方法有五个分别如下:

Image.open(fp,mode="r")

描述:根据参数加载图片

参数解析:

filename是图片的路径,可以是绝对路径,也可以是相对路径(当图片文件存放在和程序文件相同的目录下时使用相对路径更简洁)mode是打开文件的方式,一般默认为仅读取

Image.new(mode,size,color)

描述:根据给定参数创建一个新的图像

参数解析:

mode即模式这里用于指定图片的颜色模式,如RGB、RGBA等。

size用于给定图片的像素大小,以元组(长,高)给出如(100,100)。

color给定图片的背景颜色,其默认值是黑色(0),特别情况:当设置图片的 mode 为 ‘RGBA’ 时,如果不填 color 参数的话,图片是 透明底。

Image.open(stringIO.stringIO(buffer))

描述:从字符串数据流中获取图像

参数解析:stringIO.stringIO(buffer)是字符串数据流

Image.frombytes(mode,size,data)

描述:根据像素点data创建图像

参数data是二进制数据

Image.verify()描述:对图像完整性进行检查,返回异常

Image.open(fp,mode="r")

 Image.open(fp,mode="r")得到的图像数据类型是Image对象

 

使用程序文件编写代码时的相对路径

使用程序文件编写代码时解析器是在保存程序文件的目录下开始按给定的相对路径开始搜寻图像文件,比如程序文件在Project目录下,给定的相对路径是“和泉雾纱.jpg”那么解析器搜寻顺序为

Project->和泉雾纱.jpg

再比如给定相对路径为"Image和泉雾纱,jpg"那么解析器搜寻顺序为

Project->Image->和泉雾纱.jpg

当要使用相对路径时要确保解析器在程序文件所在同目录(文件夹)下能按相对路径找到对应文件。

当按相对路径找不到该文件就会报错

有时图片过多的时可以在程序文件的目录下创建一个文件夹保存,此时相对路径变为“Image和泉雾纱.jpg”

使用IDLE编写代码时的图像相对路径

在IDLE上直敲代码时是在IDLE所在目录(IDEL在下载python的文件夹下,名字为pythonw.exe)下开始按给定相对路径搜寻图像文件

使用绝对路径不会受以上两种情况的影响

Image.new(mode,size,color)

Image.new(mode,size,color)用于创建新的图像

讯享网

上面是通过Image.new()方法创建了一个长为600宽为600的红色图像

verify函数没有返回值。如果图像文件完整且无损坏,函数执行时不会抛出异常。如果图像文件损坏或不完整,会抛出  或  异常。

Image.fromat标识图像的格式和来源,如果图像不是从文件中读取,值为NoneImage.mode图像的色彩模式,L为灰度图,RGB为真彩色图像,CMYK为出版图像Image.size获取图像的宽度和高度,单位为像素(px),返回一个二元元组Image.palette调色板属性,返回一个ImagePalette类型
Image.seek(frame)跳转返回图像中的指定帧Image.tell()返回当前帧的序号

利用seek和tell获取GIF图片的所有帧

 
Image.save(fp,format)将图像保存为fp,format是文件格式Image.convert(mode)改变图像的颜色模式Image.thumbnail(size)按size创建图像的缩略图

Image.save(fp,format)

用save把webp格式转化为jpg格式并保存

讯享网

Image.convert(mode)

将图像转换为灰度图

 

Image.thumbnail(size)

缩略图内容上与原图一样,只是经过压缩了

讯享网
Image.resize(size)按size大小缩放图像Image.rotate(angle)按angle角度旋转图像

Image.point(func)根据函数func的功能对每个元素进行运算Image.split()提取RGB图像的每个像素通道Image.merge(mode,bands)合并通道,mode是图像色彩模式,bands是通道Image.blend(im1,im2,alpha)将两幅图片im1和im2按照如下公式插值后生成新的图像:im1*(1-alpha)+im2*alphaImage.getpixel(xy)获取图像xy位置的通道Image.putpixel(xy,bands)用bands替换图像xy位置的通道

Image.split()

提取图像的像素通道

 

Image.merge(mode,bands)

合并通道返回图像副本,要注意的是图像色彩模式要与通道匹配,不能CMYK的模式用RGB的通道

讯享网

Image.point(func)

用point函数对图像的通道进行运算

 

Image.blend(im1,im2,alpha)

可以将 im1 和 im2 这两幅图片(尺寸相同)以一定的透明度 进行混合。alpha 指混合透明度,取值是 0-1。当混合透明度为 0 时,显示 im1 原图。当混合透明度 alpha 取值为 1 时,显im2原图片。

使用ImageDraw类中的方法可以实现对图像的简单绘制

ImageDraw.Draw(im1)创建画布

ImageDraw.Draw(im1)

使用该函数可以为图像im1创建一个画布

讯享网

ImageDraw.text(xy,string,fill,font)

用于在指定的position(以元组给出xy)添加文本(string),fill是颜色,font必须是ImageFont设置的类型,就是必须是ImageFont类的数据类型

ImageDraw.arc(xy,start,end,fill=None,width=0)用于绘制圆弧,xy是给出绘制圆弧的区域,start和end分别是开始的角度和结束的角度单位是度,fill是填充线颜色,width是线条宽度单位是像素

ImageDraw.pieslice(xy,start,end,fill=None,outline,width=0)

与绘制圆弧差不多,差别在于圆弧内的空白区域会填充,outline是轮廓线条颜色

ImageDraw.chord(xy,start,end,fill=None,outline=None,width=0)

在pieslice的结果上把首尾点相连

ImageDraw.ellipse(xy,fill=None,outline=None,width=0)

用于绘制椭圆

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

用于在xy之间绘制线段,joint是线之间的联合类型

ImageDraw.point(xy,fill=None)

用于对坐标点填充颜色,xy是所有要上色的坐标点组成的列表

ImageDraw.rectangle(xy,fill=None,outline=None,width=0)

用于绘制矩形

ImageDraw.text(xy,string,fill,font)

为图像添加文本

 

ImageFont.truetype(font,size)

参数font是Windows文件夹下字体的名字,size是字号

小讯
上一篇 2025-04-22 08:29
下一篇 2025-06-13 16:31

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/161910.html