本文转载自微信公众号《Python技术》,作者Python酱。转载本文请联系Python技术公众号。在我们的日常生活和工作中,有很多场景需要对图片进行简单的处理。很多人依赖PS、美图秀秀等各种图片处理工具。殊不知Python已经将图片转成了It'sdone。听起来很棒吗?俗话说,Python在手,万事不愁。Python中最强大的图像处理库是PIL(PythonImageLibrary),但由于该库只支持2.x版本,一群乐于助人的程序员在此基础上进行了扩展,发布了兼容3.x版本的版本Pillow也是Pillow,所以我们今天要用到的库就是Pillow。安装老规矩,先通过pip安装到本机。pipinstallPillow基本操作打开图片您可以使用Image类对图片进行操作,例如打开图片,获取图片的基本信息等。fromPILimportImage,ImageFilter,ImageEnhance,ImageDraw,ImageFontimg=Image.open('cat.jpg')print(F'图片大小为{img.format},格式为{img.size},模式为{img.mode}')#图片大小为JPEG,格式为(3458,3456),模式为RGB转换格式。如果要转换目标图片的格式,可以使用保存功能来实现。img.save("cat.jpg")后,会在同目录下得到一张扩展名为png的图片。显示图片直接通过show函数来显示图片。img.show()裁剪使用裁剪函数传入一个四元祖坐标来裁剪图像。point=(1500,800,3000,2300)img_crop=img.crop(point)img_crop.show()Merge通过粘贴函数传入合并后的图片和坐标,实现两张图片的合并,那么如果要合并multiplepictures嗯,当然直接多次调用就可以了。img.paste(img_crop,(0,0),None)img.show(有时候缩略图太大,此时需要显示缩略图,可以通过缩略图函数传入size来缩小图像的大小。thumb_size=(345,345)img.thumbnail(thumb_size)img.show()rotation使用transpose函数传入旋转角度来翻转图片。可以传入的参数如下:Image.ROTATE_90:逆时针旋转90°Image.ROTATE_180:逆时针旋转180°Image.ROTATE_270:逆时针旋转270°Image.FLIP_LEFT_RIGHT:左右翻转Image.FLIP_TOP_BOTTOM:向上翻转img_rotate并向下=img.transpose(Image.ROTATE_90)img_rotate.show()filter当然我们也可以对图片做一些滤镜处理。高斯模糊处理img_gaussianblur=img.filter(ImageFilter.GaussianBlur(30))img_gaussianblur.show()获取照片轮廓img_contour=img.filter(ImageFilter.CONTOUR)img_contour.show()亮度增强如果照片亮度不够,你还可以调整照片进行亮度增强。color=ImageEnhance.Color(img)img_color=color.enhance(1.5)img_color.show()二次创作当然,如果你想重新创作图片,比如添加一些辅助线,文字等等,你可以使用ImageDraw类完成。画线draw=ImageDraw.Draw(img)draw.line((0,0)+img.size,fill=20,width=3)draw.line((0,img.size[1],img.size[0],0),fill=200,width=3)img.show()textdraw=ImageDraw.Draw(img)font=ImageFont.truetype('AliPuHui-Bold.ttf',200)text='Thisisacat!'draw.text((450,450),text,font=font,fill='pink')img.show()当然如果是多行文字,加个换行\n就可以了。综上所述,今天佩森酱就带大家使用Pillow库对图片进行一些简单的操作。事实上,Pillow库远不止于此。结合这些简单的操作甚至可以创建您自己的表情符号。期待小伙伴们发现更多更好玩的用法~
