应用matplotlib的imshow函数显示彩色图像(RGB data)报错的解决方法

简介: 而且,只在处理彩色图像时出现错误提示,显示为空白图像;处理灰度图像时函数运行正常、显示图像。

何时出现错误提示 :”Clipping input data to the valid range for imshow with RGB data ([0..1] for floats or [0..255] for integers)”?


在Python中,使用 matplotlib 的函数:plt.imshow(ndarray) 将输入数组显示为彩色 ( RGB ) 图像时。


而且,只在处理彩色图像时出现错误提示,显示为空白图像;处理灰度图像时函数运行正常、显示图像。


原因


plt.imshow() 函数设置:


  • 对于二维数组(灰度图像),函数会自动将输入数据归一化变换至[0,1],然后显示。


  • 对于三维数组(彩色图像),plt.imshow() 函数并不会自动对输入数据归一化处理,而是对数据取值范围提出要求:如果是float型数据,取值范围应在[0,1];如果是int型数据,取值范围应在[0,255]。


我遇到的情况是:在之前的数据处理步骤有一些矩阵运算,数据类型变为 float64 型。输入二维数组(显示为灰度图像)时,因为函数会进行归一化处理,不受影响。输入三维数组(显示为彩色图像)时,就需要先转换到相应的数据类型和取值范围,才能在 plt.imshow() 函数中正常显示。


解决方法


方法一:


plt.imshow(ndarray.astype(‘uint8’))
将 float 型数据截短转换成 uint8 型数据。


方法二:


plt.imshow(ndarray/255)
#将数据缩放到[0,1]。


目录
相关文章
|
5月前
|
Python 容器
(学习笔记)matplotlib.pyplot模块下基本画图函数的整理
1. plt.plot()函数 主要用于画图,绘制点和线。 语法:
65 0
|
2月前
matplotlib.pyplot contourf()函数的使用
matplotlib.pyplot contourf()函数的使用
|
3月前
|
人工智能 数据可视化 测试技术
Python数据可视化之Matplotlib实战Python中的装饰器:优雅而强大的函数增强工具
Python是一门强大的编程语言,它在数据科学和人工智能领域有着广泛应用。Matplotlib是Python中最常用的数据可视化库之一,它可以帮助开发者将复杂的数据呈现出来,以更好的展示和分析数据。本文将通过实例,介绍如何使用Matplotlib进行数据可视化。 在Python编程中,装饰器是一种强大的工具,可以用来增强函数的功能而不改变其结构。本文将深入探讨Python中装饰器的原理、应用及实例,帮助读者更好地理解和运用这一技术。
|
4月前
|
Python
Matplotlib subplot()函数
Matplotlib subplot()函数
15 1
|
6月前
|
数据挖掘 Python
如何使用Matplotlib模块的text()函数给柱形图添加美丽的标签数据?
如何使用Matplotlib模块的text()函数给柱形图添加美丽的标签数据?
63 4
|
6月前
|
数据挖掘 Python
Python如何使用Matplotlib模块的pie()函数绘制饼形图?
Python如何使用Matplotlib模块的pie()函数绘制饼形图?
50 0
|
11月前
|
Python
【python3.6】pyinstaller报错AssertionError: Failed to determine matplotlib‘s data directory!【解决方案】
【python3.6】pyinstaller报错AssertionError: Failed to determine matplotlib‘s data directory!【解决方案】
173 0
|
数据挖掘 Python
【Python数据分析】用Matplotlib绘制其它常见的图像
文章目录 1️⃣柱状图 2️⃣直方图 3️⃣散点图 4️⃣饼图
【Python数据分析】用Matplotlib绘制其它常见的图像
|
编解码 数据可视化 数据挖掘
Pandas数据分析之Matplotlib数据可视化库函数详解运用
Pandas数据分析之Matplotlib数据可视化库函数详解运用
174 0
Pandas数据分析之Matplotlib数据可视化库函数详解运用
|
API Python 容器
Py之matplotlib.pyplot:matplotlib.pyplot的plt.legend函数的简介、使用方法之详细攻略
Py之matplotlib.pyplot:matplotlib.pyplot的plt.legend函数的简介、使用方法之详细攻略