pytorch 图像预处理transforms

from torchvision.transforms import transforms

transforms.Compose()

作用:将一系列的transforms有序组合,实现时按照这些方法依次对图像操作。

①transforms.RandomResizedCrop(int size) 随机裁剪

②transforms.Resize((int width, int height)) 等比例缩放

注意参数为元组

③transforms.CenterCrop(224) 中心裁剪

④transforms.Normalize([.485, .456, .406], [.229, .224, .225]) 数据标准化

作用:将三个图像通道的数据分别标准化为均值为第一个列表,方差为第二个列表得到数据

⑤transforms.ToTensor() 将图像转换为Tensor类型

步骤五要在四前

举例:

data_transform = {
'train': transforms.Compose([transforms.RandomResizedCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize([.485, .456, .406], [.229, .224, .225])]),
'val': transforms.Compose([transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize([.485, .456, .406], [.229, .224, .225])])
}

图像的显示与转换

显示Image类型的图像

import matplotlib.pyplot as plt
plt.imshow(image)
plt.show()

Tensor类型转换为Image <class 'PIL.Image.Image'>

toPIL = transforms.ToPILImage()
image = toPIL(image)

图像数据集的读取

datasets.ImageFolder 数据集读入

from torchvision import datasets

train_dataset = datasets.ImageFolder(root=image_path + r"\train",
transform=data_transform['train'])

train_dataset.getitem(int index)获取图像(Tensor)和标签

image,label = train_dataset.__getitem__(1)

pytorch图像处理基础的更多相关文章

  1. MATLAB图像处理基础

    MATLAB图像处理基础 2.2.1 图像文件格式及图像类型 1.MATLAB支持的几种图像文件格式: ⑴JPEG(Joint Photogyaphic Expeyts Group):一种称为联合图像 ...

  2. Pytorch的基础数据类型

    引言 本篇介绍Pytorch的基础数据类型,判断方式以及常用向量 基础数据类型 torch.Tensor是一种包含单一数据类型元素的多维矩阵. 目前在1.2版本中有9种类型. 同python相比,py ...

  3. Matlab图像处理基础知识

    Matlab图像处理基础知识 Matlab的图片以矩阵的形式存储,矩阵的行列值为图片的行列的色彩值. 1图像表达方式: 像素索引 图像被视为离散单元.如使用I(2,2)可以获取第二行第二列的像素值 空 ...

  4. Java知多少(100)图像处理基础

    图像是由一组像素构成,用二进制形式保存的图片.java语言支持GIF.JPEG和BMP这3种主要图像文件格式.java语言的图像处理功能被封装在Image类中. 图像载入和输出 在java程序中,图像 ...

  5. 【动手学pytorch】pytorch的基础操作

    一.Tensor a)       张量是torch的基础数据类型 b)       张量的核心是坐标的改变不会改变自身性质. c)        0阶张量为标量(只有数值,没有方向的量),因为它不随 ...

  6. Java数字图像处理基础 - 必读

    写了很多篇关于图像处理的文章,没有一篇介绍Java 2D的图像处理API,文章讨论和提及的 API都是基于JDK6的,首先来看Java中如何组织一个图像对象BufferedImage的,如图: 一个B ...

  7. 图像处理基础---RGB图 灰度图 索引图 调色板

    (1)二进制图 在二进制图中,像素的取值为两个离散数值0或1中的一个,0代表黑色,1代表白色 例 A=[0 0 1;1 1 0; 0 0 1];>> imshow(A,'InitialMa ...

  8. 【深度学习】Pytorch学习基础

    目录 pytorch学习 numpy & Torch Variable 激励函数 回归 区分类型 快速搭建法 模型的保存与提取 批训练 加速神经网络训练 Optimizer优化器 CNN MN ...

  9. opencv图像处理基础 (《OpenCV编程入门--毛星云》学习笔记一---五章)

    #include <QCoreApplication> #include <opencv2/core/core.hpp> #include <opencv2/highgu ...

  10. Python3 OpenCV3 图像处理基础

    开发环境搭建 本人使用的是Ubuntu 16.04LTS. 1.安装Python3 ## 其实 Ubuntu 16.04 系统自带了 Python 3.5.2,因此不需要再安装了?但是需要安装一些开发 ...

随机推荐

  1. Spring Boot中开启Spring Security

    Spring Boot中开启Spring Security Spring Security是一款基于Spring的安全框架,主要包含认证和授权两大安全模块,和另外一款流行的安全框架Apache Shi ...

  2. 安装labelme

    按照下面指令安装 conda create --name=labelme python3.6(根据下载的python版本而定) activate labelme conda install pyqt ...

  3. layui.dtree的学习,自定义扩展toolbar按钮(toolbarExt)

    学习layui.dtree请前往 http://www.wisdomelon.com/DTreeHelper/ 记录一下dtree的自定义扩展toolbar按钮(toolbarExt) html代码: ...

  4. NOI-1253:Dungeon Master(BFS)

    描述You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of ...

  5. CF823div2B

    cf823div2B 题目链接 题目大意 多组测试数据,有\(n\)个点在数轴上,他们想要集会,每个点到目标点\(y\)的时间为$$t_i+|x_i-y|$$ 试求所有点到\(y\)中最长时间的最小值 ...

  6. SQL优化:重新编译存储过程和表

    最近发现原来执行很快的存储过程,突然慢了下来,而很多存储过程每天就运行一次,所以打算把存储过程重新编译,另外,考虑到数据在不断变化,所以也要更新表的统计信息,这样能生成比较好的执行计划. 下面是具体的 ...

  7. printf( )和scanf( )

    printf()的转换说明 转换说明 输出 %a,%A 浮点数,十六进制数和p记数法 %c 单个字符 %d.%i 有符号的十进制整数 %e,%E 浮点数,e记数法 %f 浮点数,十进制计数法 %g/% ...

  8. [Cisco] Policy Based Routing

    在某些情況下,會希望指定特定的來源及目的走特定的出口,卻又不是全部的網段都希望套用,這時就可以透過PBR來達成這個需求. 如以下拓樸 1.1.1.0/24的網路往5.5.5.0的封包需要指定e0/1當 ...

  9. HTTP 认证授权技术归纳

    原文:https://coolshell.cn/articles/19395.html

  10. element-ui el-tree 内容过多出现横向滚动条

    /deep/ .el-tree>.el-tree-node { display: inline-block; min-width: 100%;}