【发布时间】:2015-09-01 16:53:49
【问题描述】:
我通过以下方式创建了一个 NumPy 数组:
data = numpy.zeros((1, 15, 3), dtype = numpy.uint8)
然后我用 RGB 像素值填充这个数组,生成一个小彩色图像,可以使用如下过程保存:
image = Image.fromarray(data)
image.save("image.png")
为了创建 600 x 300 像素的图像,我如何扩大 NumPy 数组的大小(没有插值)?
【问题讨论】:
-
您能否详细说明“无插值”的含义?如果您只想将像素相乘,请在 SO 上使用there are already some answers for that。除非您按整数缩放,否则必须涉及一些插值。我会将其标记为重复,但如果您认为它不同,请告诉我。
-
感谢您的建议。不,这似乎不是一个合适的答案,因为数组的尺寸变化很大。我正在处理的数组包含 RGB 值,它需要 3 的不变维度。
-
你确定所有的解决方案?我现在没有要检查的电脑,但我认为
repeat()解决方案甚至适用于像图像这样的 ndim 数组。同样,如果您需要除整数比例因子之外的其他内容,您将需要插值。我不确定这一点对您来说有多重要,但澄清您是想要任意最终分辨率还是非插值整数缩放可能是个好主意。 -
@kobejohn 哦,你说得对。我只查看了涉及 Kronecker 产品的解决方案。重复方法首先应用于第一个轴,然后应用于第二个轴(而不是第三个轴)。谢谢!
标签: python image numpy scale shape