为什么不同大小的图像在 numpy 中加载为相同大小?

Why are different sized images loaded as the same size in numpy?

我目前正在用 numpy 加载很多不同大小的图像,但似乎在矩阵的形状方面存在一些问题。它们都是一样的,尽管图像不同。

示例:

两者都是使用这个函数加载的。

def load_image( infilename ) :
    img = Image.open( infilename )
    img.load()
    data = np.asarray( img, dtype="int32" )
    return data

但两者都有 data.shape 是 (441,816,3) 441 是有道理的,因为所有的图像都有相同的行数,3 因为它是 RGB,但是 816 没有意义?..它们有不同的列数? ...那么为什么加载它就好像它们都具有相同数量的列一样。

错误不在您显示的代码中。我试过你的图片和以下程序:

from PIL import Image
import numpy as np

def load_image(infilename):
    img = Image.open(infilename)
    img.load()
    data = np.asarray(img, dtype="int32")
    return data

one = load_image("one.png")
two = load_image("two.png")

print "One:", one.shape
print "Two:", two.shape

输出是

One: (441, 1302, 3)
Two: (441, 543, 3)