我想知道如何单独获取ndarray的x和y维度。我知道可以使用
提前致谢。
ndarray.shape
来获取表示维度的元组,但怎样才能将其分离为x和y信息呢?提前致谢。
y, x = a.shape
height, width = a.shape
请注意,ndarray
具有矩阵坐标 (i,j
),与图像坐标 (x,y
) 相反。也就是说:
i, j = y, x # and not x, y
另外,Python元组支持索引,您可以像这样访问不同的维度:
dims = a.shape
height = dims[0]
width = dims[1]
ndarray.shape()
这样写会出现 TypeError: 'tuple' object is not callable.
错误,因为它不是一个函数而是一个值。
正确的做法是直接解构元组 .shape
,不需要加上 ()
。例如:
>> import numpy
>> ndarray = numpy.ndarray((20, 21))
>> ndarray.shape
(20, 21)
>> x, y = ndarray.shape
>> x
20
>> y
21
http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.shape.html
.shape
而不是.size
。.size
包含元素的总数。 - ffriend
.shape
是 numpy 数组的一个属性,而不是方法。 - wflynny.shape()
,因此答案中没有括号看起来更像是粗心而不是逻辑错误。 - ffriend