如果需要批量对图片的尺寸进行修改,一个个地弄进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)
这种可以批量对图片调整大小,进行灰度处理。