# 1.1 PIL:Python图像处理类库
from PIL import Image
import os
# 批量处理图像类型的转换 ↓
def get_imlist(path):
"""返回目录中所有jpg图像的文件名列表"""
return [os.path.join(path, f) for f in os.listdir(path) if f.endswith(".jpg")]
filelist = get_imlist('C:/Users/Lenovo/Desktop/picture')
for infile in filelist:
outfile = os.path.splitext(infile)[0] + ".png"
if infile != outfile:
try:
Image.open(infile).save(outfile)
except IOError:
print("cannot convert", infile)
# ↑
# 创建缩略图
pil_im = Image.open(filelist[3])
pil_im = pil_im.convert('L')
# 实现图像颜色的转换,上式转为灰度图像 pil_im = Image.open(filelist[3]).convert('L')
pil_im.show()
pil_im.thumbnail((128, 30)) # 创建最长边为128像素的缩略图
# thumbnail()方法接受一个元组参数(该参数指定生成缩略图的大小)
# 将图像转换为符合元组参数指定大小的缩略图,返回缩略图
# 复制和粘贴图像区域
# PIL中指定坐标系的左上角坐标为(0,0)
box = (100, 100, 400, 400) # 四元组指定区域:(左,上,右,下)
region = pil_im.crop(box) # crop()方法可以从一幅图像中裁剪指定区域
region = region.transpose(Image.ROTATE_180) # 旋转获取的区域
pil_im.paste(region, box)
# paste()方法将该区域放回去
# 调整尺寸和旋转
out = pil_im.resize((128, 128))
out.show()
# resize()方法 参数为一个元组 指定新图像的大小
out = pil_im.rotate(45)
# rotate()方法 逆时针方式旋转角度
pil_im.show()