从matlab转换为repmat的python

时间:2013-04-04 04:18:02

标签: python matlab matrix

我想将给定的matlab代码转换为python

img_o = repmat(fill_value, osize);

此处fill_value是1x1x3矩阵和osize=[320 320] 输出矩阵为320x320x3

我试过了

img_o = tile(fill_value, osize)

其中

fill_value = numpy.array([[[0, 0, 0]]])
osize=[320,320]

在这里,我得到一个1x320x960而不是320x320x3 matrix的矩阵 请帮忙解决

1 个答案:

答案 0 :(得分:1)

Numpy做了一些非直观的东西,非直观地称之为“广播”。这是您需要的(在您的大小向量上只有一个明确的维度):

>>> osize = (320, 320, 1)
>>> img_o = numpy.tile(fill_value, osize)
>>> img_o.shape
(320, 320, 3)