VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python入门教程 >
  • 通过案例实战深入认识python图像处理库Pillow

什么是Pillow

首先我们需要了解一下PIL(Python Imaging Library),它是Python2中非常强大的图像处理标准库,但只支持到Python2.7。Pillow是在PIL的基础上创建了兼容的版本,支持最新Python 3.x,又加入了许多新特性。

安装

pip install pillow

 

其中Image是pillow库的一个常用的模块,提供了很多图片处理的方法。

pillow图像处理的简单使用

图片信息显示

复制代码
from PIL import Image # 操作图片的类型


# 加载图片
image = Image.open('test1.jpg')


# 打开图片
# image.show()

# 查看图像大小(宽度,高度)(6621, 4414)
print(image.size)

# # 获取模式
print(image.mode) # RGB
#
# # 显示的文件的格式 JPEG
print(image.format)
#
# # 图片的详细信息{'jfif': 257, nsity': (72, 72......), 
print(image.info)
#
# # 保存为另一张图片(可以更改图片的格式)
image.save('test2.bmp')
复制代码
#Python视频教程、源码、电子书、软件、解答、学习路线图、加群 924040232

修改图片

修改图片尺寸

复制代码
from PIL import Image, ImageFilter

# 读取图片
image = Image.open('test.jpg')
print(image.size)
# 修改图片的尺寸,以像素为单位)以二元组表示:(宽度,高度)
image1 = image.resize((image.size[0]//3, image.size[1]//3))
#
image1.show()
# #
# 保存下来
image1.save('test.jpg')
复制代码

裁剪旋转图片

复制代码
from PIL import Image, ImageFilter

# 读取图片
image = Image.open('test1.jpg')
# 裁剪图片
# 设置一个边缘间距[left, upper, right, lower] 左上角和右下角
image1 = image.crop(box=(0, 0, 2000, 2000)) # 600 * 336
image1.show()
# 图片旋转
image2 = image.rotate(45)
image2.show()
复制代码

为图片添加水印

可以为一张图片加上二维码

复制代码
from PIL import Image

# 读取图片
image = Image.open('test.jpg')

# 读取粘贴的图片
paste_image = Image.open('erweima.jpg')
如果需要粘贴的图片较大,可以通过resize()修改一下尺寸
image.paste(paste_image) # 默认把图片粘贴到左上角
image.show()
复制代码

 

 

复制代码
from PIL import Image

# 读取图片
image = Image.open('test.jpg')

# 读取粘贴的图片
paste_image = Image.open('erweima.jpg')
# 也可以指定需要粘贴的位置 设置二维码位置为右下角
position = (image.size[0] - paste_image.size[0], image.size[1] - paste_image.size[1])
image.paste(paste_image,position)
image.show()
image.save("syzp.jpg")
复制代码

 

 

生成gif图片

复制代码
from PIL import Image

images = []
for i in range(5):
    im = Image.open('mkgif/{}.png'.format(i + 1))
    images.append(im)
images[0].save("test.gif", save_all=True, loop=True, append_images=images[1:], duration=500)
复制代码

 

 

出处:https://www.cnblogs.com/hahaa/p/15913127.html


相关教程