python修改图片的尺寸和颜色

如果需要批量对图片的尺寸进行修改,一个个地弄进Photoshop修改岂不是要累死?还好Python的Pillow模块提供了相关的操作。

from PIL import Image #这个包的名字其实叫Pillow
import os
path = r'E:\Jupyter files\提取\图' #文件夹路径,注意不要带末尾的斜杠
names = os.listdir(path) #获取文件夹下的每个图片的文件名
for na in names:
    last = '\\'+ na #在此处每个图片的文件名前面加上斜杠
    file_path = r'E:\Jupyter files\提取\图%s'%last #用字符串拼接完整文件名
    img = Image.open(file_path) #打开图片
    w = img.width #获取图片宽度方向的像素值
    h = img.height #获取图片高度方向的像素值
    d = img.info['dpi'][0] #获取图片的分辨率
    wi = w/d*25.4 #把图片的宽度换算成毫米
    he = h/d*25.4 #把图片的高度换算成毫米
    img = img.resize((w, h), Image.ANTIALIAS) #按原尺寸缩放一下,这里主要是用一下锐化的滤镜,让图片质量更好
    imge = img.convert('L') #对图片进行灰度处理
    if wi>160 or he>240: #如果图片的宽度大于160毫米或高度大于240毫米
        imge.save(file_path,dpi=(200,200)) #那就把图片的分辨率设为200,像素数不变
        print('黑白和缩放---'+na)
    else:
        imge.save(file_path) #如果图片的尺寸没有超出设定的毫米数,就直接保存
        print('只黑白---'+ na)

这种可以批量对图片调整大小,进行灰度处理。

你可能感兴趣的:(文件操作)