前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >图像处理库Pillow(PIL)的使用-1(实例+详细注释+图片脚本)

图像处理库Pillow(PIL)的使用-1(实例+详细注释+图片脚本)

原创
作者头像
laity
修改2025-02-26 16:57:08
修改2025-02-26 16:57:08
15200
代码可运行
举报
文章被收录于专栏:pillow库的使用pillow库的使用
运行总次数:0
代码可运行

@TOC

前言

  • 在Python中,Pillow是一个强大的图像处理库,它是PIL(Python Imaging Library)的一个分支,支持"jpeg","png","bmp","gif","ppm","tiff" 等多种图像文件格式,通过本篇文章,你将了解到pillow库不同功能的实践方法,不止有读取和保存图片,创建缩略图和合并到图像、模糊、裁剪、翻转和旋转图像、调整大小和添加水印、添加滤镜和处理图像颜色等等。后面还会讲解一些利用Pillow库制作的一些图片脚本以及利用pyqt5和tkinter做的图形化界面。

导航

pillow库的使用篇

图片脚本篇

Tkiner库的使用篇

  • 图形化界面的开发(GUI):Tkinter库的使用-1(综述)
  • 图形化界面的开发(GUI):Tkinter库的使用-2(Label+Message+Text)
  • 图形化界面的开发(GUI):Tkinter库的使用用-3(Button+Radiobutton+Checkbutton)
  • 图形化界面的开发(GUI):Tkinter库的使用-4(Entry+Spinbox+Listbox+Combobox)
  • 图形化界面的开发(GUI):Tkinter库的使用-5(Menu+Canvas+Scale+Scrollbar)

Pillow库的使用

安装

  • 既然是第三方库,肯定免不了安装:使用pip安装Pillow pip install Pillow 这里还有一个需要注意的就是不同的pillow库支持的python版本不同, Pillow库目前最新的版本为11.0.0,我这里使用的就是最新版本,根据你自己的python解释器版本下载对应的Pillow库,下面是版本对照图:

创建Image图像

Image 类是 Pillow 库中最为重要的类,该类被定义在和与其同名的 Image 模块中。 使用下列导包方式引入 Image 模块:

from PIL import Image

使用 Image 类可以实例化一个 Image 对象,通过调用该对象的一系列属性和方法对图像进行处理。Pilow 提供了两种创建 Image 实例对象的方法,分别是open()和new()方法,下面对它们进行简单的介绍。

open()

使用Image的open()方法,可以创建一个Image对象,语法格式如下: image = Image.open(fp,mode='r') 参数说明:

  • fp:文件路径(filepath)的缩写,字符串格式
  • 可选,默认为r
代码语言:python
代码运行次数:0
复制
from PIL import Image # 导入Image图像处理模块
# 创建一个Image对象 
image = Image.open('1.jpeg')
# 显示图片
image.show()

输出:

new()

使用Image类提供的new()方法可以创建一个新的Image对象: image = Image.new(mode,size,color) 参数说明: mode:图像模式,字符串参数,如RGB(真色彩模式),RGB(真色彩+透明通道),L(灰度模式)等参数 size:图片的尺寸,元组参数(width,height) color:图片的颜色,参数可以为RGB三元组数字格式(255,255,255),颜色的十六进制("#efefef")以及颜色英文单词("pink"),可选参数,如果不写,会根据mode参数使用默认值来填充图像

代码语言:python
代码运行次数:0
复制
from PIL import Image # 导入Image图像处理模块
# 创建一个Image对象
image = Image.new(mode='RGB',size=(224,224),color='pink') # 创建一个224x224的粉色图像
# 显示图片
image.show()
# 保存图片
image.save('pink_test.jpg')

输出:

Image对象的属性

size

  • 查看图片的尺寸

format

  • 查看图片的格式

mode

  • 查看图片的图像模式

info

  • 查看图片的信息

下面为示例:

代码语言:python
代码运行次数:0
复制
from PIL import Image # 导入Image图像处理模块
# 创建一个Image对象
image = Image.open('1.jpeg')
# 图片的尺寸
print(f"图片的尺寸: {image.size}")
# 图片的格式
print(f"图片的格式: {image.format}")
# 图片的模式
print(f"图片的模式: {image.mode}")
# 图片的信息
print(f"图片的信息: {image.info}")

输出:

图片的尺寸: (474, 325) 图片的格式: JPEG 图片的模式: RGB 图片的信息: {'jfif': 257, 'jfif_version': (1, 1), 'dpi': (0, 0), 'jfif_unit': 1, 'jfif_density': (0, 0), 'exif': b'Exif\x00\x00MM\x00*\x00\x00\x00\x08\x00\x02@\x00\x00\x03\x00\x00\x00\x01\x00U\x00\x00@\x01\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00'}

还有其他不常用的属性,例如图片的色彩模式,调色板等等,大家可以自行去了解一下。

共勉

感觉累就对了,那是因为你在走上坡路!

博客

  • 本人是一个渗透爱好者,不时会在微信公众号(laity的渗透测试之路)更新一些实战渗透的实战案例,感兴趣的同学可以关注一下,大家一起进步。
  • 之前在公众号发布了一个kali破解WiFi的文章,感兴趣的同学可以去看一下,在b站(up主:laity1717)也发布了相应的教学视频

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 导航
    • pillow库的使用篇
    • 图片脚本篇
    • Tkiner库的使用篇
  • Pillow库的使用
    • 安装
    • 创建Image图像
      • open()
      • new()
    • Image对象的属性
      • size
      • format
      • mode
      • info
  • 共勉
  • 博客
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档