PIL:Python图像处理类库的基本用法

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')
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值