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() # 显示加水印之后的图片