Pytorch图像预处理——归一化、标准化
在深度学习图像分类、物体检测等过程中,首先要对图像进行归一化和标准化。
原理:
归一化:
式中,input表示输入的图像像素值;max()、min()分别表示输入像素的最大值和最小值。output为输出图像像素值。经过归一化,图像像素被调整到[0,1]区间内。
标准化:
式中,input表示输入的图像像素值;mean(input)表示输入图像的像素均值。std表示输入图像像素的标准差。经过标准化,图像像素被调整到[-1,1]区间内。
代码实现:
import torchvision.transforms as transforms
from PIL import Image
import numpy as npimg_path = "/dog.jpg"# 图像归一化
transform_GY = transforms.ToTensor()#将PIL.Image转化为tensor,即归一化。
# 注:shape 会从(H,W,C)变成(C,H,W)# 图像标准化
transform_BZ= transforms.Normalize(mean=[0.5, 0.5, 0.5],# 取决于数据集std=[0.5, 0.5, 0.5]
)# transform_compose
transform_compose= transforms.Compose([
# 先归一化再标准化transform_GY ,transform_BZ
])img = Image.open(img_path)
# (H, W, C)变为(C, H, W)
img_transform = transform_compose(img)# 输出变换后图像,需要将图像格式调整为PIL.Image形式
img_after = img_transform .numpy()
# 通道变换,(1,2,0)表示将(C,H,W)按此顺序变换为(H,W,C)
img_after = np.transpose(img_after, (1, 2, 0))print("img_after = ", img_after)
# 输出
img_after = [[[-0.23921567 0.3803922 -0.34117645][-0.09019607 0.5372549 -0.2235294 ][-0.35686272 0.254902 -0.54509807].........[-0.3960784 0.05882359 -0.54509807][-0.10588235 0.28627455 -0.2862745 ][-0.49019605 -0.12156862 -0.67058825]]]
Pytorch图像预处理——归一化、标准化相关推荐
- pytorch —— 图像预处理模块(Transforms)
transforms运行机制 torchvision是pytorch的计算机视觉工具包,在torchvision中有三个主要的模块: torchvision.transforms,常用的图像预处理方法 ...
- pytorch 图像预处理之减去均值,除以方差
在使用 torchvision.transforms进行数据处理时我们经常进行的操作是: transforms.Normalize((0.485,0.456,0.406), (0.229,0.224, ...
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
20220121 z-score标准化 模型存储和load再调用其实没有关系 再load计算的时候,也是以实际的数据重新计算 并不是以save模型的边界来计算的 20211227 onehot训练集保 ...
- 使用sklearn进行数据预处理 —— 归一化/标准化/正则化
本文主要是对照scikit-learn的preprocessing章节结合代码简单的回顾下预处理技术的几种方法,主要包括标准化.数据最大最小缩放处理.正则化.特征二值化和数据缺失值处理.内容比较简单, ...
- 数据预处理——归一化标准化
数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间. 去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权 最典型的就是数据的归 ...
- pytorch图像预处理
1.原始图 from PIL import Image from torchvision import transforms as tfs#原始图 im = Image.open('yeban1.JP ...
- 深度之眼Pytorch打卡(九):Pytorch数据预处理——预处理过程与数据标准化(transforms过程、Normalize原理、常用数据集均值标准差与数据集均值标准差计算)
前言 前段时间因为一些事情没有时间或者心情学习,现在两个多月过去了,事情结束了,心态也调整好了,所以又来接着学习Pytorch.这篇笔记主要是关于数据预处理过程.数据集标准化与数据集均值标准差计算 ...
- 图像预处理第7步:标准归一化
图像预处理第7步:标准归一化 将分割出来的各个不同宽.高的数字字符宽.高统一 //图像预处理第7步:标准归一化 //将分割出来的各个不同宽.高的数字字符宽.高统一 void CChildView::O ...
- PyTorch框架学习六——图像预处理transforms(二)
PyTorch框架学习六--图像预处理transforms(二) (续)二.transforms的具体方法 4.图像变换 (1)尺寸变换:transforms.Resize() (2)标准化:tran ...
最新文章
- 可惜了,你们只看到“双马会”大型尬聊
- php 返回数组 键名,php array_keys 返回数组的键名
- 报告解读丨细数万亿企服市场发展史,行业发展新趋势
- 跟着鸟哥学Linux系列笔记1
- 数学在计算机科学上的应用文献,浅谈数学在计算机科学及应用中的作用
- C和指针之字符操作(<ctype.h>)
- mysql oracle 锁机制_Mysql锁机制
- mysql自增 java_如何在java中自动增加mysql中的用户id
- oracle 定位行锁,oracle 的for update行锁语法
- MATLAB常用三角函数
- 发那科系统C语言执行器,FANUC NC Guide数控仿真系统 PMC梯形图模拟
- Android自带的抓包工具tcpdump
- geektool的cal命令格式乱了
- c盘满了怎么清理垃圾而不误删?教你瞬间多出20个G
- 加拿大麦吉尔大学计算机科学学院,加拿大麦吉尔大学专业:加拿大麦吉尔大学的院校介绍以及专业设置...
- 做外贸有套路,这几招“技巧组合拳“,让你轻松变高手
- QT<八> 绘图事件、绘图设备
- CAD中插入外部参照字体会变繁体_为什么CAD图纸作为外部参照插入后有些文字消失?...
- 浏览器开机自启动及全屏配置
- 【复盘1】政治+数学+英语+专业课
热门文章
- python字符串equals方法_equals方法和 == 的使用
- 调用百度AI接口实现图片文字识别
- Docker出现exited(127)的解决方法
- Html字符串生成pdf的方法 支持中文及中文换行 可行demo和jar
- [Linux]线程概念_线程控制(线程与进程的区别与联系 | 线程创建 | 线程等待 | 线程终止 | 线程分离 | LWP)
- 用友NC系统考勤机自动同步方案(适合大型商超)
- matlab变量相加,如何在空间计量matlab程序中加入更多的变量?
- HWND与HANDLE的区别
- 图形数据库neo4j视频教程
- FileReader和FileWrite介绍