一、前言
在学习自己的项目发现自己有很多基础知识不牢,对于图像处理有点不太清楚,因此写下来作为自己的笔记,主要是我想自己动手写一下每一句代码到底做了什么,而不是单纯的我看了知道了它做了什么,说白了,不想停在看,而是要真正自己敲。
本文基于的是pytorch1.7.1
二、图像处理
深度学习是由数据驱动的,而数据的数量和分布对于模型的优劣具有决定性作用,所以我们需要对数据进行一定的预处理以及数据增强,用于提升模型的泛化能力。
一般来说深度学习神经网络训练前都需要做数据增强 (Data Augmentation) 又称为数据增广、数据扩增,它是对 训练集 进行变换,使训练集更丰富,从而让模型更具 泛化能力。
下面为常见的图像变换
1.原始图片

显示图片,并读取图片大小
| 1 2 3 4 5 6 7 8 9 |
from torchvision import transforms from PIL import Image # 用于读取图片 import matplotlib.pyplot as plt # 用于显示图片 image_path = './dog.jpg' image = Image.open(image_path) plt.imshow(image) print(image.size) plt.show() |

图片大小(1024, 683)
2.调整图片大小transforms.Resize
2.1.transforms.Resize(x)
主要用于调整PILImage对象的尺寸大小,图片短边缩放至x,长宽比保持不变
将图片短边缩放至x,长宽比保持不变,上述图片执行transforms.Resize(300)
| 1 2 3 4 5 6 7 8 9 10 11 |
from torchvision import transforms from PIL import Image # 用于读取图片 import matplotlib.pyplot as plt # 用于显示图片 # 图片显示,打印图片大小 image_path = './dog.jpg' image = Image.open(image_path) resize = transforms.Resize(300) image1 = resize(image) plt.imshow(image1) print(image1.size) plt.show() |
图片大小(449, 300)
得到如下

2.2.transforms.Resize([x, y])
同时指定图片长宽,这样会改变长宽比例但是不是裁剪,可以恢复
| 1 2 3 4 5 6 7 8 9 10 11 |
from torchvision import transforms from PIL import Image # 用于读取图片 import matplotlib.pyplot as plt # 用于显示图片 # 图片显示,打印图片大小 image_path = < |

本文介绍了在PyTorch中进行图像处理的一些基本操作,包括使用transforms模块调整图片大小、进行中心裁剪和随机裁剪,以及应用随机翻转和旋转等数据增强技术,以提高模型的泛化能力。
606

被折叠的 条评论
为什么被折叠?



