pytorch生成图片(pytorch之transforms.Compose()函数理解)

本文目录
pytorch之transforms.Compose()函数理解
torchvision 是pytorch的一个图形库,它服务于PyTorch深度学习框架的,主要用来构建计算机视觉模型。torchvision.transforms主要是用于常见的一些图形变换。以下是torchvision的构成:
1 .torchvision.datasets : 一些加载数据的函数及常用的数据集接口;
2. torchvision.models : 包含常用的模型结构(含预训练模型),例如AlexNet、VGG、ResNet等;
3. torchvision.transforms : 常用的图片变换,例如裁剪、旋转等;
4. torchvision.utils : 其他的一些有用的方法。
pytorch中的transforms模块中包含了很多种对图像数据进行变换的函数,这些都是在我们进行图像数据读入步骤中必不可少的。这个类的主要作用是串联多个图片变换的操作。
import torchvision
data_transform = torchvision.transforms.Compose([
# 随机缩放裁剪 size 224*224
torchvision.transforms.RandomResizedCrop(224),
# 随机裁剪 size 224*224
torchvision.transforms.RandomCrop(224),
# 中心裁剪 size 224*224
torchvision.transforms.CenterCrop(224),
# 将图片的尺寸 Resize 到128*128 不裁剪
torchvision.transforms.Resize((128,128)),
# 转为张量并归一化到(是将数据除以255),且会把H*W*C会变成C *H *W
torchvision.transforms.ToTensor(),
# 数据归一化处理,3个通道中的数据整理理到这一组平均值是从imagenet训练集中抽样算出来的。
# ToTensor()的只是范围改变了, 并没有改变分布,mean和std处理后可以让数据正态分布
torchvision.transforms.Normalize(mean=),
])
pytorch笔记01-数据增强
数据增强是扩充数据样本规模的一种有效地方法。深度学习是基于大数据的一种方法,我们当前希望数据的规模越大、质量越高越好。模型才能够有着更好的泛化能力,然而实际采集数据的时候,往往很难覆盖掉全部的场景,比如:对于光照条件,在采集图像数据时,我们很难控制光线的比例,因此在训练模型的时候,就需要加入光照变化方面的数据增强。再有一方面就是数据的获取也需要大量的成本,如果能够自动化的生成各种训练数据,就能做到更好的开源节流。
数据增强可以分为两类,一类是离线增强,一类是在线增强。
pytorch中数据增强的常用方法如下:
torchvision中内置的transforms包含了这些些常用的图像变换,这些变换能够用Compose串联组合起来。
原图:
class torchvision.transforms.CenterCrop(size)
原图像尺寸:(658, 411)
中心裁剪后尺寸:(200, 200)
class torchvision.transforms.ColorJitter(brightness=0, contrast=0, saturation=0, hue=0)
class torchvision.transforms.Grayscale(num_output_channels=1))
class torchvision.transforms.Pad(padding, fill=0, padding_mode=’constant’)
class torchvision.transforms.RandomCrop(size, padding=0, pad_if_needed=False)
class torchvision.transforms.RandomHorizontalFlip(p=0.5)
class torchvision.transforms.RandomVerticalFlip(p=0.5)
class torchvision.transforms.RandomRotation(degrees, resample=False, expand=False, center=None)
Python使用easyocr模块完成图片文字识别
EasyOCR实际上是一个python包,它将pytorch作为后端处理程序。EasyOCR像任何其他OCR(谷歌的tesseract或任何其他OCR)一样从图像中检测文本,但在我使用它的参考资料中,我发现它是从图像中检测文本的最直接的方法,而且高端深度学习库(pytorch)在后端支持它,这使它的准确性更可靠。EasyOCR支持42多种语言用于检测目的。
可以在 easyocr · PyPI 上查看easyocr模块说明信息以及用法。
easyocr.Reader设置语言列表,可以同时通过多种语言,但并非所有语言都可以一起使用,英语与每种语言兼容。将模型加载到内存中需要一些时间,但它只需要运行一次。
比如下面的设置语言,可根据图片中的文字类别来选择。
reader_ch_tra = easyocr.Reader(),指定繁体中文和英语
reader_ch_sim = easyocr.Reader(),指定简体中文和英语
reader_ch_en = easyocr.Reader(),指定英语
1、标牌文字识别
可以指定detail = 0来简单的输出。
可以在命令行中调用easyocr工具来实现命令行解析。
2 、车牌识别
3 、验证码识别
4、长篇文字

更多文章:
force-unicode-font是什么意思?ღ᭄ꦿ这些特殊字是怎么来的
2026年9月27日 23:50
java重载和覆盖的定义(java中方法重载和重写的区别和定义)
2026年9月27日 22:50
变幻金刚魔方教程图解(变幻金刚魔方的最后一步,研究了很长时间就是搞不 出来,能教教我吗)
2026年9月27日 21:00
怎样使用dreamweaver(怎么用dreamweaver制作网页如何用dreamweaver制作网页)
2026年9月27日 20:40
css提交按钮怎么写(html:submit能加css样式吗)
2026年9月27日 19:20
雨崩近年危险事件调查(下雨好长时间了,去雨崩的路况怎么样有刚从雨崩回来的吗)
2026年9月27日 13:20
shell脚本substr(SHELL脚本对LINUX下指定文本文件的满足条件的行的特定位置字符串进行替换)
2026年9月27日 10:50





