Python array从图像创建列主矩阵
我试图在python中打开一个960(宽)x640(高)像素的矩阵图像 由于某些原因,在运行以下行之后:Python array从图像创建列主矩阵,python,image,numpy,column-major-order,Python,Image,Numpy,Column Major Order,我试图在python中打开一个960(宽)x640(高)像素的矩阵图像 由于某些原因,在运行以下行之后: originalImage = Image.open('fat_zack.jpg') originalImageMatrix = numpy.asarray(originalImage) originalImageMatrix的大小为(640960,3),我必须通过在行坐标之前提供列坐标来访问其元素 如果我尝试执行以下操作:originalImageMatrix[959][1][1]我会得
originalImage = Image.open('fat_zack.jpg')
originalImageMatrix = numpy.asarray(originalImage)
originalImageMatrix
的大小为(640960,3)
,我必须通过在行坐标之前提供列坐标来访问其元素
如果我尝试执行以下操作:originalImageMatrix[959][1][1]
我会得到以下错误:
IndexError: index 959 is out of bounds for axis 0 with size 640
你知道我遗漏了什么吗?用Matt Pitkin的解决方案->originalImageMatrix.swapaxes(0,1)修复了它
但是,我仍然不知道是什么导致了这个问题。正如您所说,第一个坐标最多有640行。第二个高达960。问题是图像有640列,而不是行,高度设置为第一维度,而不是宽度。您可以使用Numpy交换第0轴和第1轴。图像的高度为640。以数组形式表示,即640行。使用
arr[639,0,:]