详细说明见代码注释

"""
介绍如何使用 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 显示彩色图像的更多相关文章

  1. matplotlib显示中文异常处理

    matplotlib显示中文 [做个记录,方便以后使用] [一般导入方式] import matplotlib.pyplot as plt [效果图] [方式一]FontProperties impo ...

  2. 修改配置文件matplotlibrc,让Matplotlib显示中文

    matplotlib默认不支持中文显示,网上的解决办法有好多种,但是大多数都是通过在代码中指定字体,虽然也能实现,但是多出那么几行代码让人觉得很恶心. 本文介绍一种通过修改配置文件matplotlib ...

  3. matplotlib 显示中文 与 latex冲突

    如果在使用中文之前包含了使用latex的语法: mpl.rcParams['text.usetex'] = True 将不能正确显示含有中文的图片. 附 显示中文的方法: from matplotli ...

  4. Kinect For Windows V2开发日志五:使用OpenCV显示彩色图像及红外图像

    彩色图像 #include <iostream> #include <Kinect.h> #include <opencv2\highgui.hpp> using ...

  5. 关于Python matplotlib显示汉字乱码问题

    我也是一个初学者,在今天编程时遇到的一个问题,我是基于Eclipse编写Python代码,在使用matplotlib进行数据可视化时,发现显示不了汉字并且出现乱码问题. (1)使用中文注释时报错: 解 ...

  6. matplotlib显示中文

    [注意] 可能与本文主题无关,不过我还是想指出来:使用matplotlib库时,下面两种导入方式是等价的(我指的是等效,当然这个说法可以商榷:) import matplotlib.pyplot as ...

  7. python tips;matplotlib 显示中文

    import numpy as npimport matplotlib.pyplot as pltimport matplotlib as mpl mpl.rcParams['axes.unicode ...

  8. matplotlib 显示两张图片,折线图 和 scipy

    显示两张图片的代码: import numpy as np from scipy.misc import imread, imsave, imresize import matplotlib.pypl ...

  9. matplotlib 显示最后n条数据(可用于实时更新)

    2020-04-16 14:05:01 --Edit by yangray 按横轴刻度的种类不同,分为数值类刻度和日期类刻度. 数值类刻度 需求:x轴数据间隔为2,显示最后24条数据. #!/usr/ ...

随机推荐

  1. 《剑指offer》面试题24. 反转链表

    问题描述 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4-> ...

  2. 小程序onShareAppMessage有点迷

    小程序遇到的问题 起因 目前项目需求是分享时携带参数去进行裂变,但是在查看微信文档后发现有onShareAppMessage这个页面处理事件可以使用.事件可以使用return一个Object,用于自定 ...

  3. wordcount报错:org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist:

    Exception in thread "main" org.apache.hadoop.mapreduce.lib.input.InvalidInputException: In ...

  4. MySQL查询处理——逻辑查询处理和物理查询处理

    对于查询处理,可将其分为逻辑查询处理和物理查询处理.逻辑查询处理表示执行查询应该产生什么样的结果,而物理查询代表MySQL数据库是如何得到结果的. 逻辑查询处理 MySQL真正的执行顺序如下: (8) ...

  5. netty基础知识

    参考 http://www.infoq.com/cn/articles/netty-high-performance 1. 传统 RPC 调用性能差的三宗罪 1)网络传输方式问题 2)序列化方式问题 ...

  6. 使用AJAX请求调用出现HTTPS协议错误问题

    前言: 这又是一个可能是半路就卡机的项目,在调用ajax的时候遇到了下面的这个错. js中有个ajax请求http,url是:http//:.js就提示请求了一个不安全的脚本,在发送ajax请求时,就 ...

  7. 科技爱好者周刊(第 176 期):中国法院承认 GPL 吗?

    这里记录每周值得分享的科技内容,周五发布. 本杂志开源(GitHub: ruanyf/weekly),欢迎提交 issue,投稿或推荐科技内容. 周刊讨论区的帖子<谁在招人?>,提供大量程 ...

  8. PaperRead - A Shader Framework for Rapid Prototyping of GPU-Based Volume Rendering

    PaperRead - A Shader Framework for Rapid Prototyping of GPU-Based Volume Rendering 目录 PaperRead - A ...

  9. ApacheCN 数据科学译文集 20210313 更新

    新增了五个教程: Python 和 Jupyter 机器学习入门 零.前言 一.Jupyter 基础知识 二.数据清理和高级机器学习 三.Web 爬取和交互式可视化 Python 数据科学和机器学习实 ...

  10. 面向计算机视觉的深度学习 | iBooker&#183;ApacheCN

    原文:Deep Learning for Computer Vision 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则>,生 ...