大气手机网站模板网站设计规划信息技术教案

news/2025/9/22 20:54:46/文章来源:
大气手机网站模板,网站设计规划信息技术教案,WordPress的login在哪里改,商标设计图案文章目录 0. 前言1. 基本用法1.1 转换为Tensor1.2 图像大小调整1.3 随机裁剪1.4 中心裁剪1.5 随机翻转1.6 随机旋转1.7 填充1.8 组合变换 2. 进阶用法2.1 归一化2.2 色彩空间转换2.3 颜色抖动2.4 随机仿射2.5 透视变换2.6 自定义变换 0. 前言 按照国际惯例#xff0c;首先声明… 文章目录 0. 前言1. 基本用法1.1 转换为Tensor1.2 图像大小调整1.3 随机裁剪1.4 中心裁剪1.5 随机翻转1.6 随机旋转1.7 填充1.8 组合变换 2. 进阶用法2.1 归一化2.2 色彩空间转换2.3 颜色抖动2.4 随机仿射2.5 透视变换2.6 自定义变换 0. 前言 按照国际惯例首先声明本文只是我自己学习的理解虽然参考了他人的宝贵见解及成果但是内容可能存在不准确的地方。如果发现文中错误希望批评指正共同进步。 在PyTorch框架中torchvision.transforms 模块提供了一系列用于图像预处理和数据增强的方法。这个模块主要用于对计算机视觉任务中的图像数据进行标准化、转换和增强操作以满足深度学习模型训练和验证的需求。 本文将基于实例详细介绍torchvision.transforms 模块实例介绍均使用下面400×300图像。 1. 基本用法 1.1 转换为Tensor ToTensor(): 最基本的、也是必用的方法将PIL Image或者numpy数组转换为Tensor并将数据类型转换为float且范围调整至[0, 1]。 import torchvision import PILimg PIL.Image.open(car.png) transform torchvision.transforms.ToTensor()print(transform(img))输出 tensor([[[0.1647, 0.1647, 0.1647, ..., 0.2824, 0.2824, 0.2824],[0.1647, 0.1647, 0.1647, ..., 0.2824, 0.2824, 0.2824],[0.1686, 0.1686, 0.1647, ..., 0.2824, 0.2824, 0.2824],...,[0.1647, 0.1647, 0.1647, ..., 0.2039, 0.2000, 0.1961],[0.1608, 0.1608, 0.1608, ..., 0.2000, 0.1961, 0.1961],[0.1569, 0.1569, 0.1569, ..., 0.1961, 0.1922, 0.1922]],[[0.2078, 0.2078, 0.2078, ..., 0.2627, 0.2627, 0.2627],[0.2078, 0.2078, 0.2078, ..., 0.2627, 0.2627, 0.2627],[0.2078, 0.2078, 0.2078, ..., 0.2627, 0.2627, 0.2627],...,[0.2039, 0.2078, 0.2078, ..., 0.2235, 0.2235, 0.2235],[0.2000, 0.2039, 0.2000, ..., 0.2196, 0.2196, 0.2196],[0.2000, 0.1961, 0.1961, ..., 0.2196, 0.2196, 0.2196]],[[0.2431, 0.2431, 0.2431, ..., 0.2510, 0.2510, 0.2510],[0.2431, 0.2431, 0.2431, ..., 0.2510, 0.2510, 0.2471],[0.2431, 0.2431, 0.2431, ..., 0.2510, 0.2510, 0.2510],...,[0.2392, 0.2392, 0.2392, ..., 0.2392, 0.2392, 0.2392],[0.2353, 0.2353, 0.2353, ..., 0.2353, 0.2392, 0.2392],[0.2314, 0.2314, 0.2314, ..., 0.2353, 0.2353, 0.2353]],[[1.0000, 1.0000, 1.0000, ..., 1.0000, 1.0000, 1.0000],[1.0000, 1.0000, 1.0000, ..., 1.0000, 1.0000, 1.0000],[1.0000, 1.0000, 1.0000, ..., 1.0000, 1.0000, 1.0000],...,[1.0000, 1.0000, 1.0000, ..., 1.0000, 1.0000, 1.0000],[1.0000, 1.0000, 1.0000, ..., 1.0000, 1.0000, 1.0000],[1.0000, 1.0000, 1.0000, ..., 1.0000, 1.0000, 1.0000]]])这里可能有人会疑惑为什么输出的tensor有4个通道这是因为原图格式为RGBAPIL.PngImagePlugin.PngImageFile image modeRGBA size400x300 at 0x25BC96CA950最后一个通道为透明度全为1.0000的那个通道。 1.2 图像大小调整 Resize(size): 调整图像到指定尺寸。 import torchvision import PILimg PIL.Image.open(car.png) transform torchvision.transforms.Resize((100,200))transform(img).show()输出 这里需要注意.Resize()输入元组为(height, width)。 1.3 随机裁剪 RandomCrop(size): 随机裁剪图像为给定尺寸。 import torchvision import PILimg PIL.Image.open(car.png) transform torchvision.transforms.RandomCrop((200,300))transform(img).show()输出 会有多种随机输出数据增强的主要手段之一。 1.4 中心裁剪 CenterCrop(size): 从图像中心裁剪出指定尺寸的区域。 import torchvision import PILimg PIL.Image.open(car.png) transform torchvision.transforms.CenterCrop((200,200)) #也可以简写为transform torchvision.transforms.CenterCrop(200)transform(img).show()输出 不同于随机裁剪中心裁剪只有一个确定的输出。 1.5 随机翻转 RandomHorizontalFlip(p): 水平方向上以概率p进行随机翻转。 import torchvision import PILimg PIL.Image.open(car.png) transform torchvision.transforms.RandomHorizontalFlip(p1)transform(img).show()输出 1.6 随机旋转 RandomRotation(degrees): 随机旋转图像。 import torchvision import PILimg PIL.Image.open(car.png) transform torchvision.transforms.RandomRotation(90)transform(img).show()输出 1.7 填充 Pad(padding, fill, padding_mode): 在图像周围添加指定宽度的填充。 import torchvision import PILimg PIL.Image.open(car.png) transform torchvision.transforms.Pad((100,100,200,200),padding_modeedge)transform(img).show()Pad的参数说明 padding这是一个表示填充大小的元组。它可以是单个整数值在所有边都应用相同的填充或者一个包含四个整数的元组 (padding_left, padding_right, padding_top, padding_bottom)分别表示左、右、上、下的填充大小。fill填充像素的颜色值默认为0即黑色对于灰度图和RGB图分别代表灰度值和RGB三通道颜色。这个值可以是整数如0-255之间的数字、浮点数在归一化到[0, 1]范围的图像中使用或者是元组在RGB图像中每个元素分别代表R、G、B通道的填充颜色。padding_mode定义填充的方式可选选项包括 - constant用给定的常数值填充。 - edge复制图像边缘的像素值进行填充。 - reflect以镜像的方式从图像边缘反射像素来填充。 - replicate与’edge’类似但是不考虑镜像对称简单地重复最接近边界的像素值。 输出 1.8 组合变换 Compose(transforms): 将多个transform操作有序地组合在一起执行。 import torchvision from torchvision.transforms import CenterCrop, RandomRotation, RandomHorizontalFlip import PILimg PIL.Image.open(car.png) transform torchvision.transforms.Compose([CenterCrop(200),RandomRotation(90), RandomHorizontalFlip(p1)])transform(img).show()输出 2. 进阶用法 2.1 归一化 Normalize(mean, std): 将图像按照指定均值和标准差进行归一化。具体的处理方法为normalized_image (original_image - mean) / std。 import PIL from torchvision.transforms import Compose,Normalize,ToTensorimg PIL.Image.open(car.png) transform Compose([ToTensor(),Normalize(mean[0.1,0.1,0.1,0],std[0.3,0.3,0.3,1])]) print(transform(img))输出 tensor([[[0.2157, 0.2157, 0.2157, ..., 0.6078, 0.6078, 0.6078],[0.2157, 0.2157, 0.2157, ..., 0.6078, 0.6078, 0.6078],[0.2288, 0.2288, 0.2157, ..., 0.6078, 0.6078, 0.6078],...,[0.2157, 0.2157, 0.2157, ..., 0.3464, 0.3333, 0.3203],[0.2026, 0.2026, 0.2026, ..., 0.3333, 0.3203, 0.3203],[0.1895, 0.1895, 0.1895, ..., 0.3203, 0.3072, 0.3072]],[[0.3595, 0.3595, 0.3595, ..., 0.5425, 0.5425, 0.5425],[0.3595, 0.3595, 0.3595, ..., 0.5425, 0.5425, 0.5425],[0.3595, 0.3595, 0.3595, ..., 0.5425, 0.5425, 0.5425],...,[0.3464, 0.3595, 0.3595, ..., 0.4118, 0.4118, 0.4118],[0.3333, 0.3464, 0.3333, ..., 0.3987, 0.3987, 0.3987],[0.3333, 0.3203, 0.3203, ..., 0.3987, 0.3987, 0.3987]],[[0.4771, 0.4771, 0.4771, ..., 0.5033, 0.5033, 0.5033],[0.4771, 0.4771, 0.4771, ..., 0.5033, 0.5033, 0.4902],[0.4771, 0.4771, 0.4771, ..., 0.5033, 0.5033, 0.5033],...,[0.4641, 0.4641, 0.4641, ..., 0.4641, 0.4641, 0.4641],[0.4510, 0.4510, 0.4510, ..., 0.4510, 0.4641, 0.4641],[0.4379, 0.4379, 0.4379, ..., 0.4510, 0.4510, 0.4510]],[[1.0000, 1.0000, 1.0000, ..., 1.0000, 1.0000, 1.0000],[1.0000, 1.0000, 1.0000, ..., 1.0000, 1.0000, 1.0000],[1.0000, 1.0000, 1.0000, ..., 1.0000, 1.0000, 1.0000],...,[1.0000, 1.0000, 1.0000, ..., 1.0000, 1.0000, 1.0000],[1.0000, 1.0000, 1.0000, ..., 1.0000, 1.0000, 1.0000],[1.0000, 1.0000, 1.0000, ..., 1.0000, 1.0000, 1.0000]]])然后我们再把它重新转换回图像 import PIL from torchvision.transforms import Compose,Normalize,ToTensor, ToPILImageimg PIL.Image.open(car.png) transform Compose([ToTensor(),Normalize(mean[0.1,0.1,0.1,0],std[0.3,0.3,0.3,1])]) tensor transform(img) pil_image ToPILImage() pil_image(tensor).show()输出图像为 2.2 色彩空间转换 Grayscale(num_output_channels1): 将图像转换为灰度图。 import PIL import torchvisionimg PIL.Image.open(car.png) transform torchvision.transforms.Grayscale() transform(img).show()输出 2.3 颜色抖动 ColorJitter(brightness, contrast, saturation, hue) 用于对图像的颜色属性进行随机抖动具体包括亮度、对比度、饱和度以及色调hue的变化。 import PIL import torchvisionimg PIL.Image.open(car.png) transform torchvision.transforms.ColorJitter(brightness0.2, contrast0.2, saturation0.6, hue0.4) transform(img).show()ColorJitter的参数说明 brightness: 亮度调整因子默认值为0不改变。给定一个浮点数例如0.2会在 [max(1 - brightness, 0), 1 brightness] 范围内随机选择一个比例来调整图像整体的亮度。contrast: 对比度调整因子默认值也为0不改变。给定一个浮点数例如0.2会在相应范围内随机选择一个比例来调整图像的整体对比度。对比度的变化会影响图像中所有像素的相对亮度差异。saturation: 饱和度调整因子同样默认0。例如0.6意味着饱和度将在原图的基础上乘以一个范围在 [1 - saturation, 1 saturation] 内的随机系数。饱和度越高颜色越鲜艳反之则趋向于灰色调。hue: 色调调整因子默认也是0即不改变色调。当设置为非零值如0.4时会随机改变图像的色调色彩的色相角度。这对于模拟光照条件变化或色彩偏移非常有用。 因为ColorJitter的调整参数是根据输入随机选择因此输出也不唯一 2.4 随机仿射 RandomAffine(degrees, translate, scale, shear) 它实现了对输入图像进行随机的仿射变换包括旋转、缩放、剪切和平移等操作。与前面介绍的方法有部分重复不再详细说明。这里仅说明其参数 degrees: 表示图像随机旋转的角度范围可以是单个数值表示固定角度或者一个元组来指定随机选择的角度区间。translate: 指定水平和垂直方向上的随机平移幅度以图像宽度或高度的百分比形式给出。scale: 指定随机缩放的比例范围输入的是一个包含最小和最大缩放因子的元组。shear: 控制图像在两个坐标轴之间的随机剪切角度范围。 2.5 透视变换 RandomPerspective(distortion_scale, p, interpolation, fill) 透视变换能够模拟相机位置、视角或物体距离变化导致的三维空间到二维图像投影的变化从而增加模型对这类几何变换的鲁棒性。 import PIL import torchvisionimg PIL.Image.open(car.png) transform torchvision.transforms.RandomPerspective(distortion_scale0.5, p1.0, interpolation2, fill0) transform(img).show()RandomPerspective参数说明 distortion_scale控制透视变换的强度数值越大图像扭曲程度越强。p概率参数表示该变换应用于每个样本的概率默认值是1.0即总会应用透视变换。interpolation插值方式用于确定如何从原始像素生成新像素。默认是2对应于 PIL.Image.BILINEAR 双线性插值。 fill当图像边界因变换而扩大时填充的颜色默认是0。 透视变换的具体效果会随机产生并且不会改变图像的尺寸大小但可能会造成图像某些部分的拉伸、压缩或者移位。输出为 2.6 自定义变换 transforms.Lambda()允许用户直接传入一个函数作为变换操作。 import torchvisionimg PIL.Image.open(car.png)def image_operation(image):return torchvision.transforms.ToTensor()(image)**0.5 #对像素值进行0.5次方transform torchvision.transforms.Lambda(image_operation) torchvision.transforms.ToPILImage()(transform(img)).show()输出 以上罗列了torchvision.transforms的各种应用方法实际使用时应根据具体问题的需求灵活选择和组合这些变换方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910343.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中国住房和城乡建设部查询网站6wordpress极客主题

LabVIEW开发分段反射器测试台 随着对太空的观察需求越来越远,而不是当前技术(如哈勃望远镜)所能达到的,有必要增加太空望远镜主镜的尺寸。但是,增加主镜像的大小时存在几个问题。随着反射镜尺寸的增加,制造…

k8s系列--资源清单yml文件

集群资源分类 名称空间级别:kubeamd k8s,kube-system 集群级别: 元数据类型: 注意,yml文件不支持tab键的缩进,会报错docker pull 192.168.68.253:8253/library/nginx:latest 编写资源清单:注意,Pod首字母必须大…

网站建设的软件叫啥网站热度查询

背景 由于最近需要使用paddleocr,因此需要安装依赖paddlepaddle-gpu,不管怎么安装cuda11.6-11.8安装了一遍,都无法正常安装成功。如下所示: 环境:wsl2linux18.04 >>> import paddle >>> paddle.u…

k8s系列--容器生命周期

容器运行的流程:kubectl指令->api-server->etcd->kublet->CRI(容器运行接口)->容器生命周期 init C:ini-pod.yml apiVersion: v1 kind: Pod metadata: name: myapp-pod labels: app: myapp spec: co…

k8s系列(14)--探针检测

apiVersion: v1 kind: Pod metadata: name: readiness-httpget-pod namespace: default spec: containers:name: readiness-httpget-container image: 192.168.68.253:8253/library/nginx:latest imagePullPolicy: IfN…

k8s系列--控制器yml(15)

extensions/v1betal版本在1.9被废弃 apiVersion: apps/v1 kind: ReplicaSet metadata: name: frontend spec: replicas: 3 selector: matchLabels: tier: frontend template: metadata: labels: tier: frontend spec: …

做微商网站发帖免费教程龙岩建设局网站罗小波

前言对于大部分.NET 开发者来说, 都比较熟悉目前流行的ABP框架, 基于开源的ABP框架, 可以自己进行二次开发, 无需重新开发一些基础功能,例如: 用户角色管理、权限、组织、多租户等等。但是对于ABP框架来说, 提供给.NET开发者的可选项非常少, 目前也仅仅是提供了基于Web的解决方…

沈阳新民网站建设成都网络公司服务内容

买了个大华摄像头,除了抗噪方面效果不好,我是很满意的。前一段时间摄像头启动出了点问题(忘记拔掉SD卡),于是买了个海康的。 大华摄像头是3寸,海康是2寸。视频效果差多了。看来大有大的道理。更可恨的是&a…

普通网站服务器微信公众号开发是否需要建立网站

这片博文我们会详细说明MySQL本身的日志,不包含重做日志和undo日志(这两个日志是innodb存储引擎的日志)。 MySQL本身的日志有以下几种(MySQL5.7版本): 错误日志慢查询日志通用日志二进制日志错误日志 默认情…

上海网站建设报价单wordpress捐

正整数n若是它平方数的尾部&#xff0c;则称n为同构数。比如6是其平方数36的尾部&#xff0c;76是其平方 数5776的尾部&#xff0c;6与76都是同构数。输入正整数&#xff0c;判断是否为同构数。如果是&#xff0c;那么输出 n1;如果不是&#xff0c;那么输出n0。 #include <…

京东联盟新手没有网站怎么做推广网络信息有限公司

看过很多博主通过 Object Detection 实现了一些皮卡丘捕捉&#xff0c;二维码检测等诸多特定项的目标检测。而我跟着他们的案例来运行的时候&#xff0c;不是 Tensorflow 版本冲突&#xff0c;就是缺少什么包&#xff0c;还有是运行官方 object_detection_tutorial 不展示图片等…

博山专业网站优化哪家好正规的佛山网站建设价格

在这个快速变化的科技时代&#xff0c;作为独立开发者&#xff0c;你是否常常被繁琐的开发任务压得喘不过气&#xff1f;前端开发要操心后端的各种服务搭建和接口开发&#xff0c;这些琐碎而耗时的工作常常让人头大。但现在&#xff0c;你可以松一口气了&#xff0c;因为MemFir…

用eclipse做jsp网站柳州公司网站建设

激光扫描可以生成很多点云的数据集。并且&#xff0c;测量误差会导致一些稀疏的异常值使得结果更差。这使得局部点云特征估计变得更加的复杂&#xff0c;产生一些错误的值&#xff0c;使得点云的识别失败。有些不规则的数据可以通过数理统计的方法来消除。我们稀疏异样消除是以…

下载类网站模板九龙坡区建设二校有网站吗

1、简介 SPI(Serial Peripheral interface)串行外设接口。 特点: 高速:最大几十M,比如,AD9361的SPI总线速度可以达到40MHz以上全双工:主机在MOSI线上发送一位数据,从机读取它,而从机在MISO线上发送一位数据,主机读取它一主多从:主机产生时钟信号,通过片选引脚选择…

阿里巴巴做网站需要多少钱网站建设与设计实训总结

以新的 GMF 模型和专门的参与池奖励来开启 2024 年吧。 11 月 3 日&#xff0c;我们在香港全球创作者日上宣布&#xff0c;The Sandbox 已为所有创作者分配了100,000,000 SAND&#xff0c;将通过 GMF 进行分发。作为首次启动的建设者挑战&#xff0c;我们准备了专门的 SAND 参与…

从 Web 到 LLM,多入口、多链路的自动化威胁如何防护? - 详解

从 Web 到 LLM,多入口、多链路的自动化威胁如何防护? - 详解2025-09-22 20:45 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !impor…

学生管理系统案例初步分析报告

学生管理系统案例初步分析报告 目录学生管理系统案例初步分析报告功能讲解数据处理功能说明类功能讲解Main类Student类StudentManagementSystem类StudentManagementSystemTest类特殊类说明基本语法讲解 功能讲解 数据处…

【mysql】mysql5.6 版本修改用户的登录

在 MySQL 5.6 中,修改用户密码的语法与后续版本(如 MySQL 5.7+ 或 8.0)有所不同,主要使用 SET PASSWORD语句或直接更新 mysql.user表(不推荐,除非特殊情况): 方法 1:使用 SET PASSWORD语句(推荐)​​ ​语法…

AT_abc200_e [ABC200E] Patisserie ABC 2 题解

(麦口乐在跑步的时候随手就把这道题切了,吓哭了%%%) 直接按题意排序显然会因为蛋糕数量爆多而gg,注意到蛋糕排序的第一关键字是三个维度的总和,而这个总和的范围是相对小的,考虑对每个总和分别计算蛋糕的方案数量…

日总结 5

今天老师让我们看了一个叫梦想改造家的节目的一期,让我们学习分析客户的需求,老师让我们按问题的严重程度来按顺序给出问题,老师给出的答案按衣食住行分的话把住排到了第一位,这我能理解,排第一位的理由是房子的核…