在深度学习图像分类、物体检测等过程中,首先要对图像进行归一化和标准化。
原理:
归一化:

式中,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图像预处理——归一化、标准化相关推荐

  1. pytorch —— 图像预处理模块(Transforms)

    transforms运行机制 torchvision是pytorch的计算机视觉工具包,在torchvision中有三个主要的模块: torchvision.transforms,常用的图像预处理方法 ...

  2. pytorch 图像预处理之减去均值,除以方差

    在使用 torchvision.transforms进行数据处理时我们经常进行的操作是: transforms.Normalize((0.485,0.456,0.406), (0.229,0.224, ...

  3. 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化

    20220121 z-score标准化 模型存储和load再调用其实没有关系 再load计算的时候,也是以实际的数据重新计算 并不是以save模型的边界来计算的 20211227 onehot训练集保 ...

  4. 使用sklearn进行数据预处理 —— 归一化/标准化/正则化

    本文主要是对照scikit-learn的preprocessing章节结合代码简单的回顾下预处理技术的几种方法,主要包括标准化.数据最大最小缩放处理.正则化.特征二值化和数据缺失值处理.内容比较简单, ...

  5. 数据预处理——归一化标准化

    数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间. 去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权 最典型的就是数据的归 ...

  6. pytorch图像预处理

    1.原始图 from PIL import Image from torchvision import transforms as tfs#原始图 im = Image.open('yeban1.JP ...

  7. 深度之眼Pytorch打卡(九):Pytorch数据预处理——预处理过程与数据标准化(transforms过程、Normalize原理、常用数据集均值标准差与数据集均值标准差计算)

    前言   前段时间因为一些事情没有时间或者心情学习,现在两个多月过去了,事情结束了,心态也调整好了,所以又来接着学习Pytorch.这篇笔记主要是关于数据预处理过程.数据集标准化与数据集均值标准差计算 ...

  8. 图像预处理第7步:标准归一化

    图像预处理第7步:标准归一化 将分割出来的各个不同宽.高的数字字符宽.高统一 //图像预处理第7步:标准归一化 //将分割出来的各个不同宽.高的数字字符宽.高统一 void CChildView::O ...

  9. PyTorch框架学习六——图像预处理transforms(二)

    PyTorch框架学习六--图像预处理transforms(二) (续)二.transforms的具体方法 4.图像变换 (1)尺寸变换:transforms.Resize() (2)标准化:tran ...

最新文章

  1. 可惜了,你们只看到“双马会”大型尬聊
  2. php 返回数组 键名,php array_keys 返回数组的键名
  3. 报告解读丨细数万亿企服市场发展史,行业发展新趋势
  4. 跟着鸟哥学Linux系列笔记1
  5. 数学在计算机科学上的应用文献,浅谈数学在计算机科学及应用中的作用
  6. C和指针之字符操作(<ctype.h>)
  7. mysql oracle 锁机制_Mysql锁机制
  8. mysql自增 java_如何在java中自动增加mysql中的用户id
  9. oracle 定位行锁,oracle 的for update行锁语法
  10. MATLAB常用三角函数
  11. 发那科系统C语言执行器,FANUC NC Guide数控仿真系统 PMC梯形图模拟
  12. Android自带的抓包工具tcpdump
  13. geektool的cal命令格式乱了
  14. c盘满了怎么清理垃圾而不误删?教你瞬间多出20个G
  15. 加拿大麦吉尔大学计算机科学学院,加拿大麦吉尔大学专业:加拿大麦吉尔大学的院校介绍以及专业设置...
  16. 做外贸有套路,这几招“技巧组合拳“,让你轻松变高手
  17. QT<八> 绘图事件、绘图设备
  18. CAD中插入外部参照字体会变繁体_为什么CAD图纸作为外部参照插入后有些文字消失?...
  19. 浏览器开机自启动及全屏配置
  20. 【复盘1】政治+数学+英语+专业课

热门文章

  1. python字符串equals方法_equals方法和 == 的使用
  2. 调用百度AI接口实现图片文字识别
  3. Docker出现exited(127)的解决方法
  4. Html字符串生成pdf的方法 支持中文及中文换行 可行demo和jar
  5. [Linux]线程概念_线程控制(线程与进程的区别与联系 | 线程创建 | 线程等待 | 线程终止 | 线程分离 | LWP)
  6. 用友NC系统考勤机自动同步方案(适合大型商超)
  7. matlab变量相加,如何在空间计量matlab程序中加入更多的变量?
  8. HWND与HANDLE的区别
  9. 图形数据库neo4j视频教程
  10. FileReader和FileWrite介绍