gpt4 book ai didi

python - matplotlib 无法绘制单 channel 或灰度图像像素

转载 作者:行者123 更新时间:2023-12-01 06:37:34 25 4
gpt4 key购买 nike

我正在处理一个图像问题,当我必须在网络训练之前检查图像绘制时,突然在某个地方碰上石头,我发现了一些奇怪的东西。我以为我的 ImageDataGenerator 无法正常工作,但它是 matplotlib。我使用灰度图像。

所以如果你使用

data4 = np.random.randint(low=0,high=255,size=(137,236,4))
data3 = np.random.randint(low=0,high=255,size=(137,236,3))
data1 = np.random.randint(low=0,high=255,size=(137,236,1))

pyplot.imshow(data4)
pyplot.imshow(data3)

它很好地绘制了随机噪声,但是当你这样做时,

pyplot.imshow(data1)它抛出错误图像数据的无效形状 (137, 236, 1)

但再次

data = np.random.randint(low=0,high=255,size=(137,236))
pyplot.imshow(data)

它的情节非常好。为什么会发生这种情况?使用 c=1 时,是什么原因导致 pyplot 抛出错误?

最佳答案

Matplotlib 可以绘制单 channel 图像。来自imshow的文档,输入X为:

X : array-like or PIL image The image data. Supported array shapes are:

  • (M, N): an image with scalar data. The data is visualized using a colormap.

  • (M, N, 3): an image with RGB values (0-1 float or 0-255 int).

  • (M, N, 4): an image with RGBA values (0-1 float or 0-255 int), i.e. including transparency.

The first two dimensions (M, N) define the rows and columns of the image.

Out-of-range RGB(A) values are clipped.

因此,假设您的 data3 是 RGB 图像,data4 是 RGBA 图像,data 是单 channel 图像,而 data1imshow() 尺寸不正确(请改用 data1.squeeze(axis=2))。

关于python - matplotlib 无法绘制单 channel 或灰度图像像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59601024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com