Python中PIL的简单操作

github博客传送门
csdn博客传送门
首先 PIL 的安装
如果经过多方面尝试 还是安装不好 PIL 那么建议使用 Anaconda3 安装 PIL

基本的操作

from PIL import Image            # 导入 PIL 中的 Image 模块

img = Image.open('1.jpeg')       # 打开一张图片('1.jpeg'将图片放在和你py文件同一目录下即可 )
# img.show()                     # 展示一张图片
w, h = img.size                  # 将图片的长宽 赋给 w h  # 读取图片的长宽
print(w, h)                      # 打印 长 宽
img.thumbnail((w // 2, h // 2))  # 改变图片的大小
img.show()                       # 展示一张图片
img.save('test.jpg')             # 保存一张图片
img2 = img.rotate(90)            # 图片旋转 90 度
img2.show()                      # 展示一张图片

滤镜

from PIL import Image,ImageFilter         # 导入图片包 和 滤镜包

img = Image.open('image/2.jpeg')          # 打开一张图片
img2 = img.filter(ImageFilter.BLUR)       # 模糊处理
img2.show()
img3 = img.filter(ImageFilter.DETAIL)     # 增强
img3.show()
img4 = img.filter(ImageFilter.EMBOSS)     # 浮雕
img4.show()
img5 = img.filter(ImageFilter.CONTOUR)    # 轮廓
img5.show()

灰度处理

from PIL import Image

img = Image.open('image/3.jpeg')        # 打开一张图片
img = img.convert("L")                  # 将图片转换为单通道的 灰度图
img.show()                              # 显示一张图片
bands = img.getbands()                  # 返回通道值 ('R', 'G', 'B')or('L')
print(bands)                            # 打印通道情况
pixes = img.getpixel((30, 30))          # 获取图标位置上的像素值
print(pixes)                            # 打印像素值
pr = img.histogram()                    # 返回图片的像素直方图
print(pr)                               # 打印像素直方图
image2 = Image.open('image/4.jpeg')     # 打开一张图片
image2.paste(img, (100, 100))           # 加水印 将 img 印在 image2 上
image2.show()                           # 显示加水印之后的图片
原文地址:https://www.cnblogs.com/Mrzhang3389/p/9639942.html