python - 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
我将不胜感激任何帮助或建议,谢谢。
解决方案
NumPy 索引(就像 Python 索引)是从零开始的。如果大小为 255,则索引范围为 0 到 254。
- 感谢沃伦·韦克内瑟
推荐阅读
- amazon-web-services - AWS Lambda:如何连接到使用来自 AWS Lambda 的 IP 白名单的服务?
- javascript - 使用 jasmine 模拟 if/else 语句 - 使用 Angular/Typescript 进行单元测试
- java - Univocity 解析器自定义行分隔符
- jestjs - 动态测试失败,未能正常退出
- python - pyautogui 不识别变量
- python - 使用拆分 API 拆分数据集时出现“AssertionError:无法识别的指令格式” - Tensorflow2.x
- c# - Fluent API - 多对多与鉴别器
- c# - 将 configurationRefresher 设为 null
- f# - FSharp.Data 构建错误(dotnet 构建失败,代码 134)
- objective-c - 当我们执行 NSTimer 无效时发生了什么?