详解Python图像处理库Pillow常用使用方法
Python  /  管理员 发布于 7年前   237
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.sizeprint('图片宽高:{} * {}'.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_BOTTOMim4 = 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.sizeimHorizontal = Image.new('RGB', (im6Width * 2, im6Height))imHorizontal.paste(im6, (0,0))imHorizontal.paste(im7, (im6Width,0))imHorizontal.save('1_horizontal.jpg', 'jpeg')# 图片竖向拼接:拼接上面im6、im7imVertical = Image.new('RGB', (im6Width, im6Height*2))imVertical.paste(im6, (0,0))imVertical.paste(im7, (0,im6Height))imVertical.save('1_vertical.jpg', 'jpeg')
总结
以上所述是小编给大家介绍的Python图像处理库Pillow常用使用方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号