PIL简介
PIL全称 ( Python Imaging Library)Python图像处理类库,提供图像颜色转换,旋转,裁剪,缩放等操作。
操作
下面一个小程序保存基本操作,具体参数看代码注释
包括下列操作
- 打开图片,显示图片
- 转换为灰度图像
- 复制和粘贴图像区域
- 旋转
- 调整尺寸和创建缩略图
#-*- coding:utf-8 -*-
"""
@author: xunalove
@date : 2017/9/5
python : 2.7
OS: ubuntu 16.04
常用图像操作
"""
import os
from PIL import Image
def get_imlist(path):
"""返回目录中所有jpg图像的文件名列表"""
return [os.path.join(path,f) for f in os.listdir(path) if f.endswith(".jpg")]
if __name__ == "__main__":
path = "/home/xuna/桌面/image"
listdir = get_imlist(path)
for dir in listdir:
#打开原图
pil_im = Image.open(dir)
#获取图片的长和高,返回一个元组(长,高)
print pil_im.size
#转换为灰度图像
pil_im = pil_im.convert("L")
#复制图像区域
box = (100,100,400,400)
region = pil_im.crop(box)
#粘贴图像区域
region = region.transpose(Image.ROTATE_180)
pil_im.paste(region,box)
#旋转
out = pil_im.rotate(45)
#创建缩略图 参数为元组
pil_im.thumbnail((128,128))
#pil_im.show()
#调整尺寸 参数为元组
out = pil_im.resize((128,128))
#out.show()
效果
从左向右从上向下依次为:原图,灰度图,粘贴复制图,旋转45度图,缩小图
练习一
将如下图片按照白色边缘切割成3*3块或者4*4块。
要求:
- 从一个文件夹读取图片,操作后的图片放在另一个文件夹。