为什么不同大小的图像在 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)
我目前正在用 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)