使用 matplotlib 显示彩色图像
详细说明见代码注释
"""
介绍如何使用 matplotlib 输入、输出 彩色图像,并简要介绍如何将数组表示形式的图像数据显示为图像
"""
import matplotlib.pyplot as plt
from PIL import Image
import numpy as np # 读入一幅彩色图片
img_path = 'demo.jpg' # 读入当前文件目录下的 demo.jpg
img = Image.open(img_path) # 显示图片
plt.figure("Image") # 图像窗口名称
plt.imshow(img)
plt.axis('on') # 关掉坐标轴为 off
plt.title('image') # 图像题目
plt.show() # --------------------------------一般神经网络中对图像的处理(部分)--------------------------------------------------
# 打印图像的PTL存储形式
print(img)
# 将图片转成numpy数组(这是图像处理过程中必然使用的一步),并将原来的int像素值改成float类型
img = np.asarray(img, dtype=float)
print(img) # 打印numpy的存储形式
# 转换3通道图像的数组格式 : transpose (H, W, C) -> (C, H, W)
img = img.transpose((2, 0, 1))
print(img) # 打印转换通道之后的存储形式
# ---------------------------------------------------------------------------------- # 讲过上面处理过后,通常得到一副图像的数组表示形式,如:[3, 375, 500] 分别表示图形的通道数、高、宽
# 但图像一般的存储格式为:[375, 500, 3] 及高、宽、通道数
# 所以要对数组形式做一定的改变才能正常显示
# 首先转换数据类型:float -> int
img = np.asarray(img, dtype=int)
# 然后转换存储格式
img = img.transpose((1, 2, 0)) # transpose (C, H, W) -> (H, W, C)
# 之后便可正常显示图片
plt.imshow(img)
# plt.show() 移到最后,防止下面存储图片时得到空白图 # 有些公布的开源神经网络代码中可能无法使用 matplotlib 输出显示图片,但可以直接将图片存储下来
# 存储图片
# 但是要注意,在存储图片之前,一定要保留住图片的信息,比如不能使用 plt.show() ,否则图片信息被输出,则会得到一张空白图
plt.savefig('{}_save.jpg'.format(img_path.split('.')[0])) plt.show()
使用 matplotlib 显示彩色图像的更多相关文章
- matplotlib显示中文异常处理
matplotlib显示中文 [做个记录,方便以后使用] [一般导入方式] import matplotlib.pyplot as plt [效果图] [方式一]FontProperties impo ...
- 修改配置文件matplotlibrc,让Matplotlib显示中文
matplotlib默认不支持中文显示,网上的解决办法有好多种,但是大多数都是通过在代码中指定字体,虽然也能实现,但是多出那么几行代码让人觉得很恶心. 本文介绍一种通过修改配置文件matplotlib ...
- matplotlib 显示中文 与 latex冲突
如果在使用中文之前包含了使用latex的语法: mpl.rcParams['text.usetex'] = True 将不能正确显示含有中文的图片. 附 显示中文的方法: from matplotli ...
- Kinect For Windows V2开发日志五:使用OpenCV显示彩色图像及红外图像
彩色图像 #include <iostream> #include <Kinect.h> #include <opencv2\highgui.hpp> using ...
- 关于Python matplotlib显示汉字乱码问题
我也是一个初学者,在今天编程时遇到的一个问题,我是基于Eclipse编写Python代码,在使用matplotlib进行数据可视化时,发现显示不了汉字并且出现乱码问题. (1)使用中文注释时报错: 解 ...
- matplotlib显示中文
[注意] 可能与本文主题无关,不过我还是想指出来:使用matplotlib库时,下面两种导入方式是等价的(我指的是等效,当然这个说法可以商榷:) import matplotlib.pyplot as ...
- python tips;matplotlib 显示中文
import numpy as npimport matplotlib.pyplot as pltimport matplotlib as mpl mpl.rcParams['axes.unicode ...
- matplotlib 显示两张图片,折线图 和 scipy
显示两张图片的代码: import numpy as np from scipy.misc import imread, imsave, imresize import matplotlib.pypl ...
- matplotlib 显示最后n条数据(可用于实时更新)
2020-04-16 14:05:01 --Edit by yangray 按横轴刻度的种类不同,分为数值类刻度和日期类刻度. 数值类刻度 需求:x轴数据间隔为2,显示最后24条数据. #!/usr/ ...
随机推荐
- ctfshow萌新 web1-7
ctfshow萌新 web1 1.手动注入.需要绕过函数inval,要求id不能大于999且id=1000,所以用'1000'字符代替数字1000 2.找到?id=" "处有回显 ...
- CMake语法—内置变量
目录 CMake语法-内置变量 1 CMake变量分类 1.1 普通变量 1.2 缓存变量 1.3 环境变量 1.4 内置变量 2 CMake内置变量分类 2.1 提供信息的变量 2.2 改变行为的变 ...
- 搭建服务器之www-安装配置
www服务器,使用软件Apache,服务守护进程为httpd,以下为安装配置过程: 1.首先yum install httpd,会下载安装Apache软件,可以用apachectrl -v查看版本,发 ...
- ajax的核心
<script> // ajax 简称(a 代表异步 j 代表javascript a 代表 and x 代表xml--是一种带有标签的数据格式,被json取代了) //ajax 是异步对 ...
- MySQL环境变量配置方法
MySQL配置方法 下载免安装版本的MySQL数据库,大家根据自己的开发环境下载对应版本的数据库,我在此举例的是Windows系统下的配置方法,下载地址如下: https://dev.mysql.co ...
- mac下复制文件路径
快捷键: option+command+C
- MySQL基本使用(开机自启动-环境变量-忘记密码-统一编码)
目录 一:mysql简介 1.什么是MySQL? 2.MySQL的本质 3.MySQL的特点与优势 二:基本操作命令 1.登录服务端 2.2.结束符c 3.查看当前所有的库名称 4.取消之前的命令 5 ...
- python利用正则表达式提取文本中特定内容
正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python ...
- ElementUI常遇到的一些问题
一.form 下面只有一个 input 时回车键刷新页面 原因是:触发了表单默认的提交行为,给el-form 加上 @submit.native.prevent 就行了. <el-form in ...
- 写程序时try,catch查看报错的行号
try { //////////////// 代码段 //////////////// }catch(Exception ex) { MessageBox.Show(ex.St ...