Pytorch基础:数据读取与预处理——图像读取与存储

Pytorch基础:数据读取与预处理——图像读取与存储

    • 1.读取图片
    • 2. 使用 matplotlib 库显示和保存图像

1.读取图片

  • 图像库 opencv-python、imageio、PIL 等都具有图像读取的功能。
(base) PS C:\Users\阳> conda activate yang
(yang) PS C:\Users\阳> python
Python 3.11.5 | packaged by Anaconda, Inc. | (main, Sep 11 2023, 13:26:23) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>>
>>> import PIL
>>> from PIL import Image
>>>
>>> # 读取本地图片
>>> image=Image.open("D:\\阳\\工作\\1.机器视觉\\2D视觉\\VisionPro学习\\动态卡尺自动路径搜索\\1.jpg")
>>> print("image width:",image.width)
image width: 1000
>>> print("image width:",image.height)
image width: 750
>>>
>>> image=image.resize(size=(256,256),resample=PIL.Image.NEAREST)
>>> print("image width:",image.width)
image width: 256
>>> print("image width:",image.height)
image width: 256
>>>
  • Image 的创建也可以通过 numpy 完成。
>>> import numpy as np
>>>
>>> line=np.linspace(0,255,256)
>>> line=np.expand_dims(line,0)
>>> image=np.tile(line,(256,1))
>>> image=image.astype(np.uint8)
# 从numpy创建Image对象
>>> image=Image.fromarray(image)
# 保存图像
>>> image.save("D:\\孙明阳\\工作\\1.机器视觉\\2D视觉\\VisionPro学习\\动态卡尺自动路径搜索\\3.jpg")

在这里插入图片描述

2. 使用 matplotlib 库显示和保存图像

  • 如果电脑没有安装matplotlib,则需要执行以下命令:
conda activate yang //进入虚拟环境
conda install -c conda-forge matplotlib  //安装matplot
(base) PS C:\Users\孙明阳> conda activate yang
(yang) PS C:\Users\孙明阳> python
Python 3.11.5 | packaged by Anaconda, Inc. | (main, Sep 11 2023, 13:26:23) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> import numpy as np
>>> from PIL import Image
>>> import matplotlib.pyplot as plt
>>>
>>> rows=2
>>> cols=2
>>> for i in range(rows*cols):
...     plt.subplot(rows,cols,i+1)
...     plt.title("Figure "+ str(i))
...     plt.imshow(image)
>>> plt.savefig("fareguan.jpg",dpi=500,bbox_inches='tight')
>>> plt.show()
>>>//Format 'bmp' is not supported (supported formats: eps, jpeg, jpg, pdf, pgf, png, ps, raw, rgba, svg, svgz, tif, tiff, webp)
  • 需要注意的是 plt.savefig 是不支持bmp 格式的。它支持的格式有 eps, jpeg, jpg, pdf, pgf, png, ps, raw, rgba, svg, svgz, tif, tiff, webp
  • 但是 Image.open 可以打开 bmp 文件。
    在这里插入图片描述

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

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

相关文章

脚本编程游戏引擎会遇到哪些问题

在游戏开发中,脚本编程已经成为了一种非常常见的方式,用来实现游戏逻辑和功能。但是脚本编程游戏引擎也可能会面临一些挑战和问题。下面简单的探讨一下都会遇到哪些问题,并且该如果做。 性能问题 脚本语言通常需要运行时解释执行&#xff0…

【Kafka-3.x-教程】-【六】Kafka 外部系统集成 【Flume、Flink、SpringBoot、Spark】

【Kafka-3.x-教程】专栏: 【Kafka-3.x-教程】-【一】Kafka 概述、Kafka 快速入门 【Kafka-3.x-教程】-【二】Kafka-生产者-Producer 【Kafka-3.x-教程】-【三】Kafka-Broker、Kafka-Kraft 【Kafka-3.x-教程】-【四】Kafka-消费者-Consumer 【Kafka-3.x-教程】-【五…

Pycharm 重命名SSH的conda解释器后,提示该解释器不可用

结论 目前已知是BUG,截至投稿日未修复已经提交给youtrack.jetbrains.com,如下图: 解决方法,待更新…

如何给AVR16芯片解锁

AVRM16核心板本身集成了强大的芯片自解锁功能模块,当由于熔丝位设置错误,导致芯片锁死,无法正常使用时候,可以利用畅学AVR16核心板上的解锁功能给芯片解锁。 (如果芯片没有锁死,可以跳过此步骤&#xff09…

ffmpeg解码音频planar模式和packed模式

转载:原文地址: FFmpeg连载4-音频解码-阿里云开发者社区ffmpeg连载系列https://developer.aliyun.com/article/1197520 导读 前面我们介绍了使用FFmpeg解码视频,今天我们使用FFmpeg解码音频。我们的目标将mp4中的音频文件解码成PCM数据&…

python 文本内容随机生成器

这段代码是一个用于生成指定长度的随机文本的函数。主要包括两个函数:generate_text()和generate_other_content()。 generate_text(original_text, length)函数接受两个参数:原始文本和生成文本的长度。该函数的作用是根据原始文本生成指定长度的文本。…

Java异常及网络编程

异常续 throws关键字 当一个方法中使用throw抛出一个非RuntimeException的异常时,就要在该方法上使用throws声明这个异常的抛出。此时调用该方法的代码就必须处理这个异常,否则编译不通过。 package exception; ​ /*** 测试异常的抛出*/ public clas…

【普中开发板】基于51单片机的简易密码锁设计( proteus仿真+程序+设计报告+讲解视频)

基于51单片机的简易密码锁设计 1.主要功能:资料下载链接: 实物图:2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单 【普中】基于51单片机的简易密码锁设计 ( proteus仿真程序设计报告讲解视频) 仿真图proteus8.16(有低版本) 程…

vue知识-04

计算属性computed 注意: 1、计算属性是基于它们的依赖进行缓存的 2、计算属性只有在它的相关依赖发生改变时才会重新求值 3、计算属性就像Python中的property,可以把方法/函数伪装成属性 4、computed: { ... } 5、计算属性必须要有…

css的一些属性

我们在写项目的时候,会遇到多种多样的样式,大部分都是由css来实现的,css可以让我们的页面更美观,css通常是配合HTML使用,代码较为简单! 下面我就给大家举几个较为常用的一些css属性。 1.CSS中怎样让元素圆角化&#…

【从零开始学习微服务 | 第一篇】什么是微服务

目录 前言: 架构风格: 单体架构: 分布式架构: 微服务: 总结: 前言: 在当今快速发展的软件开发领域,构建大型应用程序已经成为一项巨大的挑战。传统的单体应用架构往往难以满足…

未完成销量任务的智己汽车突发大规模车机故障,竞争压力不小

2024年刚开年,智己汽车便上演了一出“开门黑”。 近日,不少车主在社交平台发帖,反映智己LS6出现大规模车机故障,包括但不限于主驾驶屏幕不显示车速、档位、行驶里程,左右转盲区显示失效,无转向灯、雷达提醒…

ThreadLocal如何使用详解

ThreadLocal概述: ThreadLocal是Java中的一个线程局部变量工具类,它提供了一种在多线程环境下,每个线程都可以独立访问自己的变量副本的机制。ThreadLocal中存储的数据对于每个线程来说都是独立的,互不干扰。 使用场景&#xff1a…

Linux最常用的几个系统管理命令

文章目录 Linux最常用的几个系统管理命令查看网络信息的原初 ifconfig默认无参数使用-s显示短列表配置IP地址修改MTU启动关闭网卡 显示进程状态 ps语法几个实例默认情况显示所有进程查找特定进程信息 任务管理器的 top常规使用显示完整命令设置信息更新次数设置信息更新时间显示…

树莓派非常实用的程序-2 vcgencmd

vcgencmd 工具用于从Raspberry Pi上的VideoCore GPU输出信息。您可以在 https://github.com/raspberrypi/userland/tree/master/host_applications/linux/apps/gencmd[Github].上找到 vcgencmd 实用程序的源代码。要获取支持的所有 vcgencmd 命令的列表,请使用 vcge…

vbs读取数据库值前端FlexGrid前导0出不来的原因

vbs读取数据库值前端FlexGrid前导0出不来的原因 原因 系统设置问题 解决 修改系统默认数值显示: 1)控制面板找到“区域”,点击“更改日期、时间和数字模式”,在弹出窗口点击“其他设置” 2)在数字一栏中的“显示前…

AirBrush - AI 照片编辑器

​【应用名称】:AirBrush - AI 照片编辑器 ​【适用平台】:#Android ​【软件标签】:#AirBrush ​【应用版本】:6.0.1 ​【应用大小】:270MB ​【软件说明】:谁说我们的照片不能完美?我们相信…

Hello 2024

Hello 2024 A. Wallet Exchange 题意:Alice和Bob各有a和b枚硬币,每次他们可以选择交换硬币或者保留,然后扣除当前一枚手中的硬币,当一方没得扣另一方就赢了。 思路:Alice先手,所以当硬币和为奇数时Alice…

Centos7升级openssl到openssl1.1.1

Centos7升级openssl到openssl1.1.1 1、先查看openssl版本:openssl version 2、Centos7升级openssl到openssl1.1.1 升级步骤 #1、更新所有现有的软件包列表并安装最新的软件包: $sudo yum update #2、接下来,我们需要从源代码编译和构建OpenS…

java基本类型与包装类型之间的关系

JAVA基本类型和包装类型 前言 Java语言中的数据类型分为基本数据类型和引用类型,而我们进行Java开发的时候都听说过基本数据类型和包装类型,今天我们就来详细聊一聊Java中的基本数据类型和包装类型之间的区别。 基本数据类型 Java中的基本数据类型一共有…