图像大小调整(缩放)

尺寸调整前尺寸调整前

1、背景介绍

      在深度学习中,将图像调整到固定尺寸(如28x28像素)的操作是非常常见的,尤其是在处理诸如图像分类、物体检测和图像分割等任务时。这种操作有几个重要原因:

  1. 标准化输入:许多深度学习模型都是为特定输入尺寸设计的。将所有图像调整到相同的尺寸可以确保每个输入都被以相同的方式处理,这有助于模型的训练和预测。

  2. 批量处理:在深度学习中,通常会使用批处理技术来同时处理多个输入。固定尺寸的图像可以更容易地与批量大小对齐,从而提高计算效率。

  3. 网络架构的假设:一些网络架构(如LeNet、AlexNet等)假设输入图像具有特定的尺寸。如果输入图像的大小不一致,网络可能无法正确地处理它们。

  4. 计算效率:固定尺寸的图像可以简化模型的设计,使得网络层(如卷积层和池化层)的参数数量减少,从而提高计算效率。

  5. 数据增强:在训练过程中,可以对调整后的图像应用数据增强技术,如随机裁剪、旋转、缩放等,以增加训练数据的多样性,从而提高模型的泛化能力。

  6. 输入层的大小:大多数深度学习框架(如TensorFlow和PyTorch)的输入层(如tf.placeholdertorch.autograd.Variable)需要知道输入数据的尺寸。固定尺寸的图像可以确保输入层正确地设置其形状。

       如下图所示,人工制作的一张图片,像素为71*70,与常用模型固定尺寸存在差异,如28*28,需要处理,要达到如下效果。

71*7028*28


2、图像尺寸调整

      本次介绍2种场景下图像尺寸调整,分别为单张图片调整、批量图像尺寸调整。

2.1 单张图像尺寸调整

      单张图像调整,即只对一张图像尺寸调整,代码如下。如下所示,将0.jpg的图片,调整为大小为28*28的图像,使用函数resize()函数。

from PIL import Image#单独图片进行裁切处理
# 读取图片
image_path = '0.jpg'  # 替换为你的图片路径
image = Image.open(image_path)# 调整图片大小为28x28像素
resized_image = image.resize((28, 28), Image.BICUBIC)# 保存或显示调整大小的图片
resized_image.save('0_resize.jpg')
resized_image.show()

      效果如下图所示,左边为原始图像,经过调整后,图像尺寸变为28*28,变小了。因此,右边图像明显小于左边。

2.2 批量图像尺寸调整

       实际中,图像在处理前需要统一尺寸大小,方便后续图像处理。因此,存在一个批量处理过程。其对多张图像进行统一处理。如下代码,为对10张图片,统一调整为尺寸大小为28*28的图像,其中处理前图像命名按照1.jpg、2.jpg、3.jpg、......进行命名。如下图所示,其实可以发现,0-9这10张图片,尺寸大小是不一样的。

      如下代码中,文件路径infile采用了for循环语句进行给定,其中{}可以看成数字i。在最后保存时,以同样方式进行保存调整尺寸后的图片。

#批量进行裁切
from PIL import Image
for i in range(10):infile = 'D:/test/' + '{}.jpg'.format(i)image = Image.open(infile)# 调整图片大小为28x28像素resized_image = image.resize((28, 28), Image.BICUBIC)#颜色进行反转savefile='D:/test/' +'{}'.format(i)+'_resize.jpg'resized_image.save(savefile)

      如下图所示,排在前面的为调整尺寸后图像,可以发现其尺寸大小基本一致,表明程序运行成功。其实,从图像详细信息中,可以查看像素值,如下图所示。

调整前像素97*103调整后像素28*28

3、总结

      本次介绍了基于python中Image库,实现对图像大小调整,其中包含单张图像与批量图像大小调整。

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

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

相关文章

【可控图像生成系列论文(五)】ControlNet 和 IP-Adapter 之间的区别有哪些?

系列文章目录 【可控图像生成系列论文(一)】 简要介绍了 MimicBrush 的整体流程和方法;【可控图像生成系列论文(二)】 就MimicBrush 的具体模型结构、训练数据和纹理迁移进行了更详细的介绍。【可控图像生成系列论文&…

【漏洞复现】锐捷统一上网行为管理与审计系统——远程命令执行漏洞

声明:本文档或演示材料仅供教育和教学目的使用,任何个人或组织使用本文档中的信息进行非法活动,均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 锐捷统一上网行为管理与审计系统naborTable/static_convert.php…

Linux系统编程(七)进程间通信IPC

进程间通讯的7种方式_进程间通信的几种方法-CSDN博客 管道 pipe(命名管道和匿名管道);信号 signal;共享内存;消息队列;信号量 semaphore;套接字 socket; 1. 管道 内核提供&#x…

Arduino平台软硬件原理及使用——SR04超声波传感器的使用

文章目录: 一、超声波传感器工作原理 二、SR04超声波库的使用 三、SR04超声波传感器在Arduino中的使用 一、超声波传感器工作原理 如上图所示:HCSR04超声波传感器拥有4个针脚,除了VCC接正极、GND接负极外,还有两个引脚“Trig”及“…

Linux线程互斥锁

目录 🚩看现象,说原因 🚩解决方案 🚩互斥锁 🚀关于互斥锁的理解 🚀关于原子性的理解 🚀如何理解加锁和解锁是原子的 🚩对互斥锁的简单封装 引言 大家有任何疑问,可…

CCSP自考攻略+经验总结

备考攻略 备考攻略准备阶段通读阶段精度阶段总复习阶段刷题阶段命运审判 写到最后 备考攻略 趁着对ssp知识点的理解还在,开始ccsp的考证之路,文章结构还是按照cissp备考篇的结构梳理。本次备考和cissp的离职在家备考不同,ccsp是在职利用非工…

如何用亚马逊合作伙伴网络快速上线跨境电商

目前跨境电商已成为行业发展主流,如何快速、低成本打造品牌海外独立站和智能客服营销中心、构建全链路跨境电商体系是出海电商商家都会遇到的难题。亚马逊云科技凭借与亚马逊电商平台易于集成的先天优势成为首选的电商解决方案平台。本文介绍了如何用亚马逊云科技平…

Elasticsearch8.x聚合查询全面指南:从理论到实战

聚合查询的概念 聚合查询(Aggregation Queries)是Elasticsearch中用于数据汇总和分析的查询类型。它不同于普通的查询,而是用于执行各种聚合操作,如计数、求和、平均值、最小值、最大值、分组等。 聚合查询的分类 分桶聚合&…

centos7 安装单机MongoDB

centos7安装单机 yum 安装 1、配置yum源 vim /etc/yum.repos.d/mongodb.repo [mongodb-org-7.0] nameMongoDB Repository baseurlhttps://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/7.0/x86_64/ gpgcheck1 enabled1 gpgkeyhttps://www.mongodb.org/static/pgp…

未来已来,如何打造智慧养殖场?

近年来,国家出台了一系列扶持政策,以促进养殖行业高质量发展,推动行业转型升级。在国家政策和市场需求的双重驱动下,养殖行业正迎来前所未有的发展机遇。智慧养殖以其高效、智能和可持续的特点,正逐步取代传统养殖方式…

6.26.4.1 基于交叉视角变换的未配准医学图像多视角分析

1. 介绍 许多医学成像任务使用来自多个视图或模式的数据,但很难有效地将这些数据结合起来。虽然多模态图像通常可以在神经网络中作为多个输入通道进行配准和处理,但来自不同视图的图像可能难以正确配准(例如,[2])。因此,大多数多视…

吴恩达2022机器学习专项课程C2W3:2.27 选修_数据倾斜

目录 处理不平衡数据集1.分类需求描述2.计算精确率和召回率 权衡精确率和召唤率1.手动调整阈值2.F1分数 总结 处理不平衡数据集 1.分类需求描述 如果你在处理一个机器学习应用,其中正例和负例的比例(用于解决分类问题)非常不平衡&#xff0…

数据库怎么同步

数据库要怎么同步呢,有很多方法,看你用什么数据库,如果是Sqlserver,你要数据库同步,那么可以使用自带的订阅发布,订阅发布应该是不错的方法,但是我上次要配置双向同步,它的对等发布好像没部署成…

Ansible-综合练习-生产案例

斌的招儿 网上教程大多都是官网模板化的教程和文档,这里小斌用自己实际生产环境使用的例子给大家做一个详解。涉及到一整套ansible的使用,对于roles的使用,也仅涉及到tasks和files目录,方便大家快速上手并规范化管理。 0.环境配置…

聚星文社AI工具

聚星文社AI工具是一种基于人工智能技术开发的工具,旨在辅助作者和写作人员提升创作效率和质量。 点击下载 该工具可以提供多项功能,包括语法纠错、智能推荐、文章自动摘要等。 通过使用聚星文社AI工具,用户可以在写作过程中得到即时的纠错建…

ECMAScript6介绍及环境搭建

这实际上说明,对象的解构赋值是下面形式的简写。 let { foo: foo, bar: bar } { foo: ‘aaa’, bar: ‘bbb’ }; 也就是说,对象的解构赋值的内部机制,是先找到同名属性,然后再赋给对应的变量。真正被赋值的是后者,而…

数据结构_绪论

1.数据结构的研究内容 研究数据的特性和数据之间的关系 用计算机解决一个问题的步骤 1.具体问题抽象成数学模型 实质: 分析问题--->提取操作对象--->找出操作对象之间的关系(数据结构)--->用数学语言描述 操作对象对象之间的关系 2.设计算法 3.编程,调试,运行 …

【数据结构与算法】哈希函数 详解

哈希函数的构造方法有哪些? 直接定址法:直接使用关键字或者关键字的某个线性函数值作为哈希地址。 数字分析法:对关键字进行分析,选择关键字中的某几位或者进行某种运算得到的结果作为哈希地址。 平方取中法:先计算关…

通信协议总结

IIC 基本特点 同步,半双工 标准100KHz,最高400KHz(IIC主要应用于低速设备) 硬件组成 需外接上拉电阻 通信过程 空闲状态 SDA和SCL都处于高电平 开始信号S和终止信号P 在数据传输过程中,当SCL0时,SDA才…