Python图像处理库crop()函数 thumbnail方法使用详解
crop()函数的使用
crop()可以用来裁剪图片,用法如下:
from PIL import Image
im = Image.open("example.png")
im_crop = im.crop((100, 100, 300, 300))
im_crop.show()
第一个参数是一个元组,表示了裁剪区域的左上角和右下角的坐标。示例中将图片裁剪为一个正方形。
thumbnail()方法的使用
thumbnail()方法用于缩小图片,不同于resize(),thumbnail()只是缩小图片等比例的大小,保持图片的尺寸比例不变。用法如下:
from PIL import Image
im = Image.open("example.png")
im.thumbnail((256, 256))
im.show()
缩小后的图片将会有一个较长或宽被缩小至256,另一边等比例缩小。
示例
示例一:裁剪并缩小图片
以下示例将一个图片裁剪成正方形,并缩小至256×256,并输出原图、裁剪图和缩小图。
from PIL import Image
im = Image.open("example.png")
im.show()
im_crop = im.crop((100, 100, 300, 300))
im_crop.show()
im_crop.thumbnail((256, 256))
im_crop.show()
示例二:批量处理一组图片
以下示例用于批量对一个文件夹下的所有png图片进行裁剪和缩小处理。
import os
from PIL import Image
dir_path = "images"
for filename in os.listdir(dir_path):
if filename.endswith(".png"):
im = Image.open(os.path.join(dir_path, filename))
im_crop = im.crop((100, 100, 300, 300))
im_crop.save(os.path.join(dir_path, "crop_" + filename))
im_crop.thumbnail((256, 256))
im_crop.save(os.path.join(dir_path, "thumbnail_" + filename))
这样会创建两个文件夹 “crop_images” 和 “thumbnail_images”,分别保存裁剪和缩小后的图片。