Python-为什么imshow()为非零数组生成空白图像?

时间:2019-03-24 22:22:11

标签: python arrays image matplotlib imshow

我的目标是在Python中将2D数组显示为图像。该数组不包含零元素,因此我希望图像中的imshow()会根据数组值自动设置色阶。但是,当我运行代码时,图像为空白。

csv文件为:https://ufile.io/urk5m

import numpy as np
import matplotlib.pyplot as plt

data_ = np.loadtxt(open("new_file.csv", "rb"), delimiter=",")
plt.imshow(data_)

我的结果是:https://imgur.com/jMNnF0h

1 个答案:

答案 0 :(得分:2)

始终记住,但实际上始终是,图像在8位整数上有效。这就是为什么有2 ^ 8个灰色阴影,以及为什么大多数公共CS颜色是(2 ^ 8)^ 3 = 1670万的原因。颜色。 3,因为有3个颜色通道-RGB,每个通道具有256个阴影。

每个人都在使用它,主要是图像处理库。

因此,请务必确保将正确的矩阵数据类型传递给图像处理函数:

image_8bit = np.uint8(data_)
plt.imshow(image_8bit)
plt.show()

enter image description here