如何获得ndarray的x和y维度 - Numpy / Python

时间:2014-03-18 20:49:14

标签: python arrays numpy shape

我想知道我是否可以分别获得ndarray的x和y尺寸。我知道我可以使用ndarray.shape来获取表示维度的元组,但是如何在x和y信息中将其分开?

提前谢谢。

3 个答案:

答案 0 :(得分:12)

您可以使用元组解包。

y, x = a.shape

答案 1 :(得分:5)

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]

答案 2 :(得分:2)

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