PIL与TorchVision

PIL与TorchVision概述

PIL(Python Imaging Library)及其分支Pillow是Python中处理图像的基础库,提供打开、操作和保存多种图像格式的功能。TorchVision是PyTorch的官方库,专注于计算机视觉任务,包含数据集、模型架构和图像转换工具,常与PIL/Pillow结合使用。


PIL/Pillow的核心功能

图像加载与保存
通过Image.open()加载图像,image.save()保存图像,支持JPEG、PNG等格式。

基础操作
包括裁剪(crop)、旋转(rotate)、调整大小(resize)和色彩模式转换(如RGB转灰度)。

示例代码

from PIL import Image
image = Image.open("example.jpg")
image = image.resize((256, 256))
image.save("resized.jpg")


TorchVision的核心功能

数据预处理
提供transforms模块,包含ComposeToTensorNormalize等工具,用于将PIL图像转换为张量并标准化。

预训练模型
内置ResNet、VGG等模型,可直接加载用于迁移学习或推理。

数据集工具
包含常见数据集(如CIFAR-10、ImageNet)的加载接口,兼容torch.utils.data.DataLoader


PIL与TorchVision的协作

转换流程
PIL处理原始图像(如裁剪),TorchVision的transforms将图像转为张量并归一化,适合模型输入。

代码示例

from torchvision import transforms
transform = transforms.Compose([
    transforms.Resize(256),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.5], std=[0.5])
])
tensor_image = transform(image)  # image为PIL对象


关键差异

用途

  • PIL:基础图像处理(编辑、格式转换)。
  • TorchVision:计算机视觉任务(数据增强、模型训练)。

数据类型

  • PIL操作Image对象,TorchVision处理torch.Tensor

应用场景建议

PIL适用场景
需手动调整图像尺寸、色彩或保存中间结果时。

TorchVision适用场景
构建数据管道(如训练CNN)或使用预训练模型时。

两者常结合使用:PIL预处理原始数据,TorchVision完成后续自动化转换和模型集成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值