详解Python图像处理库Pillow常用使用方法

作者:gdjlc 时间:2022-07-17 11:04:53 

 PIL(Python Image Library)是python的第三方图像处理库,但是由于其强大的功能与众多的使用人数,几乎已经被认为是python官方图像处理库了。

其官方主页为:PIL。 PIL历史悠久,原来是只支持python2.x的版本的,后来出现了移植到python3的库pillow,pillow号称是friendly fork for PIL,其功能和PIL差不多,但是支持python3。

PIL(Python Imaging Library)是Python一个强大方便的图像处理库,只支持到Python2.7。

Pillow是PIL的一个派生分支,在Python3标准库中用Pillow代替PIL。

Pillow官网:https://pillow.readthedocs.io/en/latest/handbook/index.html

下面是使用例子,用法可见代码注释。


from PIL import Image,ImageFilter,ImageGrab,ImageDraw,ImageFont
# 创建图片:宽800*高600,红色
imNew = Image.new('RGB',(800,600),(255,0,0))
# 显示图片
#imNew.show()
# 抓取屏幕
imGrab = ImageGrab.grab()
imGrab.save('grab.jpg', 'jpeg')
# 打开图片
im = Image.open('1.jpg')
# 复制图片
im1 = im.copy()
im2 = im.copy()
im3 = im.copy()
im4 = im.copy()
im5 = im.copy()
im6 = im.copy()
im7 = im.copy()
# 获得图片宽高:
w, h = im.size
print('图片宽高:{} * {}'.format(w, h))
# 缩略图(图片不会被拉伸,只能缩小)
im.thumbnail((w//2, h//2))
im.save('1_thumbnail.jpg', 'jpeg')
# 缩放(图片可能会被拉伸,可缩小也可放大)
im1 = im1.resize((w//2, h//2))
im1.save('1_resize.jpg', 'jpeg')
# 模糊图片
im2 = im2.filter(ImageFilter.BLUR)
im2.save('1_blur.jpg', 'jpeg')
# 旋转图片,逆时钟旋转45度
im3 = im3.rotate(45)
im3.save('1_rotate.jpg', 'jpeg')
# 图片转换:左右转换 FLIP_LEFT_RIGHT,上下转换 FLIP_TOP_BOTTOM
im4 = im4.transpose(Image.FLIP_LEFT_RIGHT)
im4.save('1_transpose.jpg', 'jpeg')
# 图片裁剪
box = (200,200,400,400) #左上角(0,0),4元组表示坐标位置:左、上、右、下
im5 = im5.crop(box)
im5.save('1_crop.jpg', 'jpeg')
# 图片上添加文字
draw = ImageDraw.Draw(im6)
#truetype设置字体、文字大小
#stxingka.ttf华文行楷 simkai.ttf 楷体 simli.ttf 隶书
font = ImageFont.truetype("C:\\WINDOWS\\Fonts\\stxingka.ttf", 20)
draw.text((100,100), ('hello word \n你好,世界'), fill='#0000ff', font=font)
im6.save('1_drawText.jpg', 'jpeg')
# 图片上添加图片(粘贴图片)
imTmp = Image.new('RGB',(30,30),'blue')
im7.paste(imTmp, (50,50)) #第2个参数为坐标
im7.save('1_paste.jpg','jpeg')
# 图片横向拼接:拼接上面im6、im7(两张图片大小一样)
im6Width, im6Height = im6.size
imHorizontal = Image.new('RGB', (im6Width * 2, im6Height))
imHorizontal.paste(im6, (0,0))
imHorizontal.paste(im7, (im6Width,0))
imHorizontal.save('1_horizontal.jpg', 'jpeg')
# 图片竖向拼接:拼接上面im6、im7
imVertical = Image.new('RGB', (im6Width, im6Height*2))
imVertical.paste(im6, (0,0))
imVertical.paste(im7, (0,im6Height))
imVertical.save('1_vertical.jpg', 'jpeg')

总结

以上所述是小编给大家介绍的Python图像处理库Pillow常用使用方法,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

来源:https://www.cnblogs.com/gdjlc/archive/2019/09/01/11444132.html

标签:python,图像处理库,pillow
0
投稿

猜你喜欢

  • python 将html转换为pdf的几种方法

    2023-03-30 11:50:11
  • Go语言结构体Go range的学习教程

    2024-05-05 09:33:49
  • 调用其他python脚本文件里面的类和方法过程解析

    2021-01-11 13:27:14
  • python制作的天气预报小工具(gui界面)

    2022-04-03 17:20:42
  • Python爬取网页的所有内外链的代码

    2022-07-26 21:11:09
  • 简单谈谈JS中的正则表达式

    2023-07-22 00:50:22
  • PHP实现基于3DES算法加密解密字符串示例

    2023-08-15 18:48:35
  • Python爬虫模拟登录带验证码网站

    2022-02-18 21:33:48
  • CSS属性与JavaScript 编码方法对照表

    2008-12-01 13:01:00
  • 基于Python中isfile函数和isdir函数使用详解

    2023-05-10 00:46:50
  • 详解Golang并发操作中常见的死锁情形

    2023-07-03 13:17:43
  • Python编写通讯录通过数据库存储实现模糊查询功能

    2024-01-16 06:39:55
  • 解决pip install psycopg2出错问题

    2023-01-22 01:41:09
  • Python中getattr函数和hasattr函数作用详解

    2022-10-29 15:42:11
  • 基于Python编写一个宝石消消乐小游戏

    2021-10-25 05:46:06
  • Python利用matplotlib.pyplot.boxplot()绘制箱型图实例代码

    2022-11-18 05:08:26
  • Python多进程协作模拟实现流程

    2021-07-01 17:52:38
  • JavaScript[对象.属性]集锦

    2020-07-08 18:05:45
  • 利用Python制作一个MOOC公开课下载器

    2022-03-13 19:46:17
  • Python实现的检测网站挂马程序

    2023-11-21 16:39:38
  • asp之家 网络编程 m.aspxhome.com