当前位置: 首页 > news >正文

Python学习笔记第七十二天(Matplotlib imread)

Python学习笔记第七十二天

  • Matplotlib imread
    • 读取图像数据
    • 修改图像
    • 裁剪图像
    • 图像颜色
  • 后记

Matplotlib imread

imread() 方法是 Matplotlib 库中的一个函数,用于从图像文件中读取图像数据。

imread() 方法返回一个 numpy.ndarray 对象,其形状是 (nrows, ncols, nchannels),表示读取的图像的行数、列数和通道数:

如果图像是灰度图像,则 nchannels 为 1。
如果是彩色图像,则 nchannels 为 3 或 4,分别表示红、绿、蓝三个颜色通道和一个 alpha 通道。
imread() 方法的语法如下:

matplotlib.pyplot.imread(fname, format=None)

参数说明:

  • fname:指定了要读取的图像文件的文件名或文件路径,可以是相对路径或绝对路径。
  • format :参数指定了图像文件的格式,如果不指定,则默认根据文件后缀名来自动识别格式。

读取图像数据

以下实例演示了如何使用 imread 函数从一张图像文件中读取图像数据,并将其显示出来

# 实例 1
import matplotlib.pyplot as plt# 读取图像文件         图片任意即可,这里拿地图举例
img = plt.imread('map.jpeg')# 显示图像
plt.imshow(img)
plt.show()

以上实例中我们首先使用 imread() 方法从名为 map.jpeg 的图像文件中读取了图像数据,并将其存储在 img 变量中。

然后我们使用imshow() 方法显示了这张图像。

注意:我们在显示图像时没有指定颜色映射,这是因为 imread() 方法已经将图像数据按照正确的颜色映射转换成了 RGB 格式,因此我们可以直接使用默认的颜色映射来显示图像。

修改图像

我们可以通过更改 numpy 数组来修改图像。

例如,如果我们将数组乘以一个数 0≤≤1,我们将图像变暗

# 实例 2
import matplotlib.pyplot as plt# 读取图像文件         图片任意即可,这里拿老虎举例
img_array = plt.imread('tiger.jpeg')
tiger = img_array/255
#print(tiger)# 显示图像
plt.figure(figsize=(10,6))for i in range(1,5):plt.subplot(2,2,i)x = 1 - 0.2*(i-1)plt.axis('off') #hide coordinate axesplt.title('x={:.1f}'.format(x))plt.imshow(tiger*x)plt.show()

裁剪图像

以下实例用于裁剪图像

# 实例 3
import matplotlib.pyplot as plt# 读取图像文件
img_array = plt.imread('tiger.jpeg')
tiger = img_array/255
#print(tiger)# 显示图像
plt.figure(figsize=(6,6))
plt.imshow(tiger[:300,100:400,:])
plt.axis('off')
plt.show()

图像颜色

如果我们将 RGB 颜色的绿色和蓝色坐标的数组元素设置为 0,我们将得到红色的图像:

# 实例 3
import matplotlib.pyplot as plt# 读取图像文件
img_array = plt.imread('tiger.jpeg')
tiger = img_array/255
#print(tiger)# 显示图像
red_tiger = tiger.copy()red_tiger[:, :,[1,2]] = 0plt.figure(figsize=(10,10))
plt.imshow(red_tiger)
plt.axis('off')
plt.show()

后记

今天学习的是Python Matplotlib imread学会了吗。 今天学习内容总结一下:

相关文章:

Python学习笔记第七十二天(Matplotlib imread)

Python学习笔记第七十二天 Matplotlib imread读取图像数据修改图像裁剪图像图像颜色 后记 Matplotlib imread imread() 方法是 Matplotlib 库中的一个函数,用于从图像文件中读取图像数据。 imread() 方法返回一个 numpy.ndarray 对象,其形状是 (nrows,…...

安卓核心板_天玑700、天玑720、天玑900_5G模块规格参数

5G安卓核心板是采用新一代蜂窝移动通信技术的重要设备。它支持万物互联、生活云端化和智能交互的特性。5G技术使得各类智能硬件始终处于联网状态,而物联网则成为5G发展的主要动力。物联网通过传感器、无线网络和射频识别等技术,实现了物体之间的互联。而…...

CS224W2.2——传统基于特征的方法(边层级特征)

在这篇中,我们介绍了链接预测的重要任务,以及如何提取链接级特征来更好地解决这类问题。这在我们需要预测缺失的边或预测将来会出现的边的情况下很有用。我们将讨论的链路级功能包括基于距离的功能,以及本地和全局邻域重叠。 文章目录 1. 边层…...

python—openpyxl操作excel详解

前言 openpyxl属于第三方模块,在python中用来处理excel文件。 可以对excel进行的操作有:读写、修改、调整样式及插入图片等。 但只能用来处理【 .xlsx】 后缀的excel文件。 使用前需要先安装,安装方法: pip install openpyxl…...

汽车行驶性能的主观评价方法(2)-驾驶员的任务

人(驾驶员)-车辆-环境闭环控制系统 驾驶过程中,驾驶员承担着操纵车辆和控制车辆的任务。驾驶员在不知不觉中接受了大量光学、声学和动力学信息并予以评价,同时不断地通过理论值和实际值的比较来完成控制作用(图 2.1&a…...

server2012 通过防火墙开启局域网内限定IP进行远程桌面连接

我这里需要被远程桌面的电脑系统版本为windows server2012 1、打开允许远程连接设置 2、开启防火墙 3、设置允许“远程桌面应用”通过防火墙 勾选”远程桌面“ 3、入站规则设置 高级设置→入站规则→远程桌面-用户模式(TCP-In) 进入远程桌面属性的作用域——>远程IP地址—…...

lvs+keepalived: 高可用集群

lvskeepalived: 高可用集群 keepalived为lvs应运而生的高可用服务。lvs的调度器无法做高可用,于是keepalived软件。实现的是调度器的高可用。 但是:keepalived不是专门为集群服务的,也可以做其他服务器的高可用。 lvs的高可用集群&#xf…...

C++标准模板(STL)- 类型支持 (类型特性,is_pointer,is_lvalue_reference,is_rvalue_reference)

类型特性 类型特性定义一个编译时基于模板的结构&#xff0c;以查询或修改类型的属性。 试图特化定义于 <type_traits> 头文件的模板导致未定义行为&#xff0c;除了 std::common_type 可依照其所描述特化。 定义于<type_traits>头文件的模板可以用不完整类型实…...

C++——类和对象(上)

1.面向过程和面向对象初步认识 C语言是面向过程的&#xff0c;关注的是过程&#xff0c;分析出求解问题的步骤&#xff0c;通过函数调用逐步解决问题。 例如手洗衣服 C是基于面向对象的&#xff0c;关注的是对象&#xff0c;将一件事情拆分成不同的对象&#xff0c;靠对象之间…...

ffmpeg中examples编译报不兼容错误解决办法

ffmpeg中examples编译报不兼容错误解决办法 参考examples下的README可知&#xff0c;编译之前需要设置 PKG_CONFIG_PATH路径。 export PKG_CONFIG_PATH/home/user/work/ffmpeg/ffmpeg/_install_uclibc/lib/pkgconfig之后执行make出现如下错误&#xff1a; 基本都是由于库的版…...

Python与CAD系列基础篇(十一)图形旋转、镜像、缩放

目录 0 简述1 图形旋转2 图形镜像3 图形缩放0 简述 本篇详细介绍使用①通过pyautocad连接AutoCAD进行处理②通过ezdxf处理dxf格式文件进行图形旋转、镜像、缩放的方法。 1 图形旋转 pyautocad方式 from pyautocad import Autocad, APoint, aDouble import mathacad = Autoca…...

STM32串口通信

数据通信的基础概念 在单片机的应用中&#xff0c;数据通信是必不可少的一部分&#xff0c;比如&#xff1a;单片机和上位机、单片机和外 围器件之间&#xff0c;它们都有数据通信的需求。由于设备之间的电气特性、传输速率、可靠性要求各 不相同&#xff0c;于是就有了各种通信…...

Kafka笔记

一、Kafka 概述 1.1.定义 传统定义&#xff1a;Kafka 是一个分布式的基于发布/订阅模式的消息队列&#xff0c;主要用于大数据实时处理领域。最新定义&#xff1a;Kafka 是一个开源的分布式事件流平台&#xff0c;被数千家公司用于高性能数据管道、流分析、数据集成和关键任务…...

【1.2】神经网络:神经元与激活函数

✅作者简介&#xff1a;大家好&#xff0c;我是 Meteors., 向往着更加简洁高效的代码写法与编程方式&#xff0c;持续分享Java技术内容。 &#x1f34e;个人主页&#xff1a;Meteors.的博客 &#x1f49e;当前专栏&#xff1a; 神经网络&#xff08;随缘更新&#xff09; ✨特色…...

【PythonRS】Pyrsgis库安装+基础函数使用教程

pyrsgis库是一个用于处理地理信息系统(GIS)数据的Python库。它提供了一组功能强大的工具&#xff0c;可以帮助开发人员使用Python语言创建、处理、分析和可视化GIS数据。通过使用pyrsgis库&#xff0c;开发人员可以更轻松地理解和利用地理信息。 pyrsgis库包含了许多常见的GIS操…...

线扫相机DALSA--分频倍频计算公式及原理

分频倍频计算公式及原理 推导原理&#xff1a; 假设编码器脉冲精度为P&#xff1b;同步轮/辊周长为C&#xff0c;Fov为视野&#xff0c;Res为线扫相机分辨率&#xff0c;N代表N倍频编码器&#xff0c;分频为D&#xff0c;倍频为M 线扫项目常规采用N&#xff08;N 4&#xff0…...

1818_ChibiOS的计数信号量

全部学习汇总&#xff1a; GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 之前见过计数信号量&#xff0c;也是在FreeRTOS中看到的。也看到过这样的功能在驱动设计中的应用&#xff0c;但是当时没有理解这个使用的方式。 1.…...

企业微信接入芋道SpringBoot项目

背景&#xff1a;使用芋道框架编写了一个数据看板功能需要嵌入到企业微信中&#xff0c;方便各级人员实时观看 接入企业微信的话肯定不能像平常pc端一样先登录再根据权限看页面&#xff0c;不然的话不如直接手机浏览器打开登录账号来得更为方便&#xff0c;所以迎面而来面临两…...

群晖上搭建teamspeak3语音服务器

什么是 TeamSpeak &#xff1f; TeamSpeak &#xff08;简称 TS&#xff09;是一款团队语音通讯工具&#xff0c;但比一般的通讯工具具有更多的功能而且使用方便。它由服务器端程序和客户端程序两部分组成&#xff0c;如果不是想自己架设 TS 服务器&#xff0c;只需下载客户端程…...

Python爬虫(二十四)_selenium案例:执行javascript脚本

本章叫介绍如何使用selenium在浏览器中使用js脚本&#xff0c;更多内容请参考&#xff1a;Python学习指南 隐藏百度图片 #-*- coding:utf-8 -*- #本篇将模拟执行javascript语句from selenium import webdriver from selenium.webdriver.common.keys import Keysdriver webdri…...

ESP32屏幕项目救星:用TFT_eSPI库的Touch_calibrate例程,5分钟搞定LittleVGL触摸校准

ESP32屏幕开发实战&#xff1a;5分钟完成LittleVGL触摸校准的高效方法论 当一块全新的ILI9341XPT2046电阻屏摆在你面前时&#xff0c;大多数开发者会迫不及待地跳进LittleVGL的配置深渊。但真正高效的硬件开发者知道&#xff0c;在编写任何图形界面代码之前&#xff0c;有一个关…...

安全多方计算中稀疏矩阵乘法优化:原理、实现与隐私保护应用

1. 项目概述&#xff1a;当稀疏矩阵遇上安全多方计算在机器学习、推荐系统这些我们每天都会接触到的技术背后&#xff0c;数据往往以一种“稀疏”的形式存在。想象一下一个拥有百万用户和十万本书籍的在线书店&#xff0c;每个用户可能只读过其中几十本&#xff0c;那么构建一个…...

如何将B站缓存视频从m4s格式无损转换为通用MP4?

如何将B站缓存视频从m4s格式无损转换为通用MP4&#xff1f; 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾遇到过这样的情况&#xff1…...

Spring Cloud微服务里,如何用XXL-JOB搞定订单15分钟未支付自动关闭?

Spring Cloud微服务中基于XXL-JOB的订单超时自动关闭实战方案 电商平台的订单超时自动关闭是一个典型的高并发业务场景。想象一下&#xff0c;当用户下单后未支付&#xff0c;系统需要在15分钟后自动释放库存并关闭订单。传统做法可能采用数据库轮询或延迟队列&#xff0c;但在…...

Gofile下载器深度解析:Python自动化文件获取架构设计与性能优化

Gofile下载器深度解析&#xff1a;Python自动化文件获取架构设计与性能优化 【免费下载链接】gofile-downloader Download files from https://gofile.io 项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader Gofile下载器是一个基于Python的高效自动化文件…...

告别单调Sprite!在UE5 Niagara中玩转条带渲染器:从参数解析到动态颜色宽度控制

告别单调Sprite&#xff01;在UE5 Niagara中玩转条带渲染器&#xff1a;从参数解析到动态颜色宽度控制在虚幻引擎5的Niagara粒子系统中&#xff0c;条带渲染器&#xff08;Ribbon Renderer&#xff09;一直是被低估的利器。与常见的Sprite渲染器不同&#xff0c;它能够基于粒子…...

别再让Ubuntu22.04时间错乱了!用hwclock和timedatectl搞定硬件时钟时区的保姆级教程

彻底解决Ubuntu 22.04时间同步问题&#xff1a;硬件时钟与时区管理权威指南你是否曾在双系统切换后发现Ubuntu显示的时间比实际快了8小时&#xff1f;或者每次重启后系统时间都会"跳票"&#xff1f;这些看似小问题背后&#xff0c;隐藏着操作系统与硬件时钟&#xff…...

机器学习发现物理守恒量:从数据中挖掘对称性与不变性

1. 项目概述&#xff1a;当机器学习遇见物理学的“不变性”在物理学的世界里&#xff0c;对称性与守恒量是理解宇宙运行规律的基石。从牛顿时代起&#xff0c;我们就知道一个系统如果具有时间平移对称性&#xff0c;那么它的能量就是守恒的&#xff1b;如果具有空间平移对称性&…...

为什么你的ChatGPT公众号打开率不足8%?腾讯内部流出的3类高唤醒标题公式(限时公开)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ChatGPT公众号打开率低迷的底层归因诊断 公众号打开率持续低于行业均值&#xff08;5.2% vs 行业中位数12.7%&#xff09;&#xff0c;表面是内容吸引力不足&#xff0c;实则暴露了用户触达链路中多个结…...

UE5 Vulkan PC平台适配核心:DataDrivenPlatformInfo.ini详解

1. 这不是配置文件&#xff0c;是UE5 Vulkan平台适配的“宪法性文档”你打开UE5项目目录下的Engine/Config/Platform/路径&#xff0c;一眼扫过去&#xff0c;DataDrivenPlatformInfo.ini这个文件名平平无奇——它不像DefaultEngine.ini那样天天被修改&#xff0c;也不像BaseEn…...