首页 > 解决方案 > Numpy / Scipy 不写入某些像素

问题描述

我正在尝试使用 numpy 和 scipy 创建一个 png 图像,然后单独为每个像素着色。但是,当我选择大小 255 x 255 并尝试更改 x,y 坐标 255,255 处的像素时,它说它超出了范围。

import numpy as np
import scipy.misc as smp
from PIL import Image

data = np.zeros( (255,255), dtype = np.uint8)
data[255,255] = [0,0,0] # Attempt to set a black pixel
data[0,0] = [255,0,0] # Attempt to set a red pixel
img = Image.fromarray(data)
img.save("Test.png","PNG")

但是,我得到以下错误代码:

Traceback (most recent call last):
  File "C:\Users\***\***\***\***\***.py", line 8, in <module>
    data[255,255] = [255,0,255]
IndexError: index 255 is out of bounds for axis 0 with size 255

我将不胜感激任何帮助或建议,谢谢。

标签: pythonnumpyscipy

解决方案


NumPy 索引(就像 Python 索引)是从零开始的。如果大小为 255,则索引范围为 0 到 254。

  • 感谢沃伦·韦克内瑟

推荐阅读