深入剖析Python最强大图片处理模块Pillow.docxVIP

深入剖析Python最强大图片处理模块Pillow.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
深化剖析Python最强大图片处理模块---Pillow ????Pillow作为一个图片模块。可谓是真的简便强大,它的前身是PIL,后来将他取代,现在的pillow 可谓是一家独大,好了,让我们来看看他的具体用法。 ????今日我们引见pillow 常用六大模块: ????????1.Image ????????2.ImageDraw ????????3.ImageEnhance ????????4.ImageFont ????????5.ImageGrab ????????6.ImageFilter 一、Image from PIL import Image from io import BytesIO #读取一张图片 im=Image.open(2.jpg) #依据文件名读取图像 b=BytesIO() im.save(b,JPEG) data=b.getvalue() print(data)#猎取图片的二进制信息 #图片格式 print(格式:,im.format) #图片模式 print(模式:,im.mode) #L:灰度 RGB:真彩色 CMYK:出版图像 #图像宽高 print(宽高:,im.size) print(完整信息:,) try: im.verify()#检查图像文件的完整性 except: pass finally: im.show() #显示一张图片 im.save(4.jpg,JPEG) #保存图片 from PIL import Image from io import BytesIO import requests #创建新图片: im1=Image.new(RGBA,(400,400),red) #从二进制中读取图片 res=requests.get(/files/pic/pic9/202103/zzpic24077.jpg).content im2=Image.frombytes(RGB,(100,100),data=res)#只能解析纯二进制图片 #从网页中读取图片 im2=Image.open(BytesIO(res)) b=BytesIO() im2.save(b,format=PNG) im2.show() #两张图片相加: im1=Image.new(RGBA,(400,400),red) im2=Image.new(RGBA,(400,400),blue) Image.blend(im1,im2,0.5) #两个图片大小肯定要一样(效果见图4) #点操作: im1.point(lambda x:x*1.2) #图片裁剪: box=(100,100,200,200) region=im.crop(box)#设置要裁剪的区域 #图片粘贴(合并) im1.paste(region,box)#粘贴box大小的region到原先的图片对象中。(见图5) im1=Image.new(RGB,(400,400),red) im2=Image.new(RGBA,(400,400),blue) #通道分别: r,g,b=im1.split()#分割成三个通道,此时r,g,b分别为三个图像对象。 print(r,g,b) #通道合并: im3=Image.merge(RGB,(b,g,r))#将b,r两个通道进行翻转。 #转变图片的大小: im4=im1.resize((300,200)) im4.show() #图片翻转 im5=im1.transpose(Image.FLIP_LEFT_RIGHT) #左右翻转 im6=im2.transpose(Image.FLIP_TOP_BOTTOM) #上下翻转 im5.show() im6.show() #猎取某个像素位置的值 im1.getpixel((43,23)) #写某个像素位置的值 im1.putpixel((10,20),(255,32,43)) #创建图像缩略图 im1.thumbnail((10,20))#图片大小为(10,20) im1.show() #旋转图像 im8=im1.rotate(45) #逆时针旋转45度 im8.show() 注:RGB有三个通道,RGBA有四个通道,以上图片显示效果都在图6中 #图片模式转换 im3.convert(RGBA) modes Description 1 1位像素,黑白图像,存成8位像素 L 8位像素,黑白 P 9位像素,使用调色板映射到任何其他模式 RGB 3*8位像素,真彩 RGBA4*8位像素,真彩+透亮?????通道 CMYK4*8位像素,印刷四色模式或彩色印刷模式 YCbCr3*8

文档评论(0)

duanbingbing + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档