【Python】python读取,显示,保存图像的几种方法
一、PIL:Python Imaging Library(pillow)
PIL读取图片不直接返回numpy对象,可以用numpy提供的函数np.array()进行转换,亦可用Image.fromarray()再从numpy对象转换为原来的Image对象,读取,显示,保存以及数据格式转换方法见如下代码:
from PIL import Image
import numpy as npimagepath = 'img.jpg'
image = Image.open(imagepath)
image.show()
image.save('img1.jpg') # 图片保存在项目文件夹下
二,Matplotlib
读取,显示,保存方法见如下代码:
import matplotlib.pyplot as plt
import matplotlib.image as mpimgimagepath = 'img.jpg'
image = mpimg.imread(imagepath)
# 显示图片
plt.imshow(image)
# 保存文件
mpimg.imsave("cat1.jpg", image)
三,OpenCV
1.直接将图像显示在窗口中,并保存。
import cv2
import matplotlib.pyplot as pltimagepath = 'img.jpg'
image = cv2.imread(imagepath)# 保存图片
cv2.imwrite("cat2.jpg", image)# 显示图片
cv2.imshow('bgrImage', image) # 对窗口进行命名并显示
cv2.waitKey()
cv2.destroyAllWindows()

2.放置在画布中显示
import cv2
import matplotlib.pyplot as plt# 设置图片路径
imagepath = 'img.jpg'
image = cv2.imread(imagepath)# 将BGR图像转换为RGB
img_1 = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)# 显示图形
plt.subplot() # 直接指定划分方式和位置
plt.imshow(image) #显示图像
plt.title('噪声图像') # 设置标题
plt.xticks([]), plt.yticks([]) # 设置坐标轴,参数[]是不显示坐标轴
plt.show()
由于opencv默认读取图片用的是BGR通道,所以后续处理如果用RGB通道,如matplotlib就是采用的RBG通道,则需要进行色彩转换,否则会因为不兼容导致色彩出现偏差,所以可以加上这一行代码 :
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB),
具体原因见我的一篇博客:【Bug】当用opencv库的imread()函数读取图像,用matplotlib库的plt.imshow()函数显示图像时,图像色彩出现偏差问题的解决方法-CSDN博客
当要显示多张图片的时候,需要用plt.subplot()函数对画布区域进行划分,如果没有指定参数,则默认为一个子图。详细用法见我的博客:【Python】Matplotlib-多张图像的显示-CSDN博客
显示效果如下:

相关文章:
【Python】python读取,显示,保存图像的几种方法
一、PIL:Python Imaging Library(pillow) PIL读取图片不直接返回numpy对象,可以用numpy提供的函数np.array()进行转换,亦可用Image.fromarray()再从numpy对象转换为原来的Image对象,读取,显示&…...
k8s系列-kuboard 该操作平台的使用操作
文章目录 一、相关平台,以及账号和密码镜像打包服务器仓库地址K8s平台数据库mysql 二、平台概述1.集群导入2.集群管理3.名称空间4.访问控制授权5.集群用户操作审计 三、kuboard平台操作手册一、部署服务操作1.名称空间部署2.工作负载部署 一、相关平台,以…...
基于讯飞星火大语言模型开发的智能插件:小策问答
星火大语言模型是一种基于深度学习的自然语言处理技术,它能够理解和生成人类语言。这种模型的训练过程涉及到大量的数据和复杂的算法,但最终的目标是让机器能够像人一样理解和使用语言。 小策问答是一款基于星火大语言模型的定制化GPT插件小工具。它的主…...
笔记:AI量化策略开发流程-基于BigQuant平台(二)
五、模型训练股票预测 完成了数据处理,接下来就可利用平台集成的各算法进行模型训练和模型预测啦。本文将详细介绍“模型训练”、“模型预测”两大模块操作、原理。 模型训练和模型预测是AI策略区别于传统量化策略的核心,我们通过模型训练模块利用训练…...
100127. 给小朋友们分糖果 II
给你两个正整数 n 和 limit 。 请你将 n 颗糖果分给 3 位小朋友,确保没有任何小朋友得到超过 limit 颗糖果,请你返回满足此条件下的 总方案数 。 示例 1: 输入:n 5, limit 2 输出:3 解释:总共有 3 种方…...
【2】Spring Boot 3 项目搭建
目录 【2】Spring Boot 3 初始项目搭建项目生成1. 使用IDEA商业版创建2. 使用官方start脚手架创建 配置与启动Git版本控制 个人主页: 【⭐️个人主页】 需要您的【💖 点赞关注】支持 💯 【2】Spring Boot 3 初始项目搭建 项目生成 1. 使用IDEA商业版创…...
【第七章】软件设计师 之 程序设计语言与语言程序处理程序基础
文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 1、前言 正规式 2、编译过程 编译型&…...
如何判断一个角是否大于180度(2)
理论计算见上一篇: 如何判断一个角是否大于180度?_kv1830的博客-CSDN博客 此篇为代码实现 一。直接上代码: import cv2 as cv import numpy as np import mathdef get_vector(p_from, p_to):return p_to[0] - p_from[0], p_to[1] - p_from…...
ASAM OpenDRIVE V1.7协议超详解(一)
文章目录 前言一、仿真场景的构成二、openDRIVE框架三、g_additionalData四、openDRIVE-header五、openDRIVE-road1、Road总拓扑结构2、Road-link介绍1)link的拓扑结构2)link链接示例3)link前继后继4)道路link规则 3、road-type介…...
springboot的配置信息的设置和读取(application.properties/application.yml)
springboot提供了两种配置信息的文件格式,application.properties和application.yml,基于直接明了,使用方便和高效的前提下下面的配置均采用yml格式配置, 注意 yml采用缩减方式来排列键后面紧跟冒号,然后空格&#x…...
Deepsort项目详解
一、目标追踪整体代码 代码目录如下图所示: 、 追踪相关代码: 检测相关代码和权重 调用 检测 和 追踪的代码: 首先代码分为三个部分: 目标追踪的相关代码和权重目标检测相关代码和权重,这里用的是yolov5.5目标检…...
C语言证明一个偶数总能表示为两个素数之和。输入一个偶数并将其分解为两个素数
完整代码: // 一个偶数总能表示为两个素数之和。输入一个偶数并将其分解为两个素数#include<stdio.h>//判断一个数n是否为素数 int isPrimeNumber(int n){//1不是素数if (n1){return 0;}for (int i 2; i <(n/2); i){//当有n能被整除时,不是素…...
Python 的 datetime 模块
目录 简介 一、date类 (一)date 类属性 (二)date 类方法 (三)实例属性 (四)实例的方法 二、time类 (一)time 类属性 (二)tim…...
Termius for Mac:掌控您的云端世界,安全高效的SSH客户端
你是否曾经在Mac上苦苦寻找一个好用的SSH客户端,让你能够远程连接到Linux服务器,轻松管理你的云端世界?现在,我们向你介绍一款强大而高效的SSH客户端——Termius。 Termius是一款专为Mac用户设计的SSH客户端,它提供了…...
Ubuntu 下监控并自动重启网卡
很多时候网站服务器挂掉也可能是因为网卡挂掉了,如果你网站不能访问时 SSH 也无效了一般都是这个问题。这时可以通过一个定时脚本监控网络并进行自动重启。 1 创建脚本 auto_restart_network.sh 4 5 6 7 8 9 #!/bin/bash ping www.baidu.com -c 1 >/dev/null i…...
377. 组合总和 Ⅳ
给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 示例 1: 输入:nums [1,2,3], target 4 输出:7 解释&#…...
【OpenCV】计算视频的光流并跟踪物体calcOpticalFlowPyrLK
一、介绍 计算光流可以使用OpenCV的calcOpticalFlowPyrLK方法,cv2.calcOpticalFlowPyrLK是OpenCV库中的一个函数,用于计算稀疏光流。它实现的是Lucas-Kanade方法,这是一种常用的光流计算方法。 光流是图像中物体运动的近似表示&#…...
C语言进阶
数组 在基础篇说过,数组实际上是构造类型之一,是连续存放的。 一维数组 定义 定义格式:[存储类型] 数据类型 数组名标识符[下标]; 下面分模块来介绍一下数组的定义部分的内容。 1、初始化和元素引用: 可以看到数组是连续存储…...
Linux之gdb
gdb就是一个Linux的调试工具,类似与vs里面的调试 可执行程序也有格式,不是简单的二进制堆砌...
100天精通风控建模(原理+Python实现)——第3天:风控建模中如何处理缺失值?
风控模型已在各大银行和公司都实际运用于业务,用于营销和风险控制等。 之前已经阐述了100天精通风控建模(原理+Python实现)——第1天:什么是风控建模? 100天精通风控建模(原理+Python实现)——第2天:风控建模有什么目的? 接下来看下100天精通风控建模(原理…...
(手把手实战指南)利用NoneBot2与QQ官方API,从零构建智能群聊机器人
1. 环境准备与项目初始化 想要搭建一个QQ群聊机器人,首先需要准备好开发环境。我推荐使用Python 3.8版本,这是目前NoneBot2最稳定的支持版本。如果你还没有安装Python,可以去官网下载最新版本。 安装好Python后,我们需要创建一个虚…...
Buildroot外部工具链路径解析:从权限问题到正确配置
1. Buildroot外部工具链路径问题解析 第一次用Buildroot配置外部工具链时,我遇到了一个典型的路径解析问题。当时选择的工具链路径是/opt/cross-toolchain/bin/arm-linux-gnueabihf-gcc,编译过程中却报错提示找不到libgcc_s.so。这种问题看似简单&#x…...
Reportr安全配置指南:如何保护你的个人数据仪表板
Reportr安全配置指南:如何保护你的个人数据仪表板 【免费下载链接】dashboard Your lifes personal dashboard. 项目地址: https://gitcode.com/gh_mirrors/das/dashboard Reportr是一个开源的个人数据仪表板项目,帮助用户追踪和可视化生活中的各…...
从零构建BJT放大电路:三种组态实战解析与选型指南
1. BJT放大电路基础:从器件特性到放大原理 第一次接触BJT放大电路时,我被那些密密麻麻的电路图和复杂的计算公式搞得头晕眼花。直到亲手搭建了几个实际电路后,才发现理解BJT放大其实没那么难。BJT(双极结型晶体管)作为…...
别再让后端背锅了!前端独立搞定文件上传:华为云OBS + Vue/Element-UI保姆级配置
前端独立实现文件上传:华为云OBS与Vue/Element-UI实战指南 在快速迭代的现代Web开发中,前端工程师常常需要独立处理文件上传功能,而不再依赖后端接口。本文将详细介绍如何利用华为云OBS和Vue/Element-UI构建一个完整的前端文件上传解决方案。…...
梦幻动漫魔法工坊在内容创作中的应用:快速生成文章配图与插画
梦幻动漫魔法工坊在内容创作中的应用:快速生成文章配图与插画 1. 为什么内容创作者需要AI动漫生成工具 在当今内容爆炸的时代,视觉元素已成为吸引读者的关键因素。研究表明,带有高质量配图的文章能获得94%以上的浏览量提升。但对于大多数文…...
Coze插件开发实战:如何将现有API快速封装并发布到扣子商店
1. 从零开始理解Coze插件开发 第一次接触Coze插件开发时,我也被各种概念绕得头晕。简单来说,这就像给手机安装APP——扣子商店是应用市场,插件就是里面的各种APP。而我们要做的,就是把自家开发的API服务打包成这样一个"APP&q…...
构建真正AI-ready的可观测体系(不是简单加个Prometheus):LLM服务、向量DB、微批Pipeline全链路告警设计实战
第一章:AI原生软件研发监控告警体系搭建 2026奇点智能技术大会(https://ml-summit.org) AI原生软件具备动态推理路径、模型权重漂移、Prompt变异响应、多模态输入不确定性等独特可观测性挑战,传统基于微服务的监控范式难以覆盖其全生命周期异常。构建面…...
IDA Pro 9.3 更新- 强大的反汇编程序、反编译器和多功能调试器工具
简介 IDA Pro 9.3 (macOS, Linux, Windows) - 强大的反汇编程序、反编译器和多功能调试器 A powerful disassembler, decompiler and a versatile debugger. In one tool.IDA Pro 一个强大的反汇编程序、反编译器和多功能调试器。集成在一个工具中。 请访问原文链接&#x…...
【JavaScript高级编程】拆解函数流水线 上戏
一、什么是setuptools? setuptools 是一个用于创建、分发和安装 Python 包的核心库。 它可以帮助你: 定义 Python 包的元数据(如名称、版本、作者等)。 声明包的依赖项,确保你的包能够正确运行。 构建源代码分发包&…...
