from PIL import Image
import os
# 读取图像
img_path = './img/test.jpg'
img = Image.open(img_path) # 返回一个PIL图像对象
print(img)
# >>> <PIL.JpegImagePlugin.JpegImageFile image mode=RGB size=440x587 at 0x7FAF480625B0>
# 转换为灰度图
gray_img = img.convert('L')
gray_img.save('./img/gray_img.jpg')
# 保存与转换格式
save_path = os.path.splitext(img_path)[0] + '.png' #jpg转png
img.save(save_path)
# 返回文件夹中所有以jpg结尾的文件
def get_jpg(dir, postfix):
'''
:param dir: 要查看的文件夹
:param postfix: 筛选的文件后缀
:return: dir中所有以postfix结尾的文件
'''
return [os.path.join(dir, f) for f in os.listdir(dir) if f.endswith(postfix)]
print(get_jpg('./img', '.jpg'))
# >>> ['./img/test.jpg']
# crop()方法从图像中裁剪指定区域
box = (50, 50, 150, 150) #左、上、右、下
region = img.crop(box)
# transpose()方法做旋转
region = region.transpose(Image.ROTATE_180) #旋转180度,可选90 270
region.save('./img/rotate_180.jpg')
# 图像粘贴的方法,将region粘贴到img上
img.paste(region, box)
img.save('./img/paste.jpg')
# 调整尺寸 resize
img.resize((128,128))
img.save('./img/resize.jpg')
#旋转
img.rotate(45) # 逆时针旋转45度
img.save('./img/rotated.jpg')
PIL:Python图像处理类库的基本用法
最新推荐文章于 2023-01-29 16:09:51 发布