-1

我想将给定的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 请帮助解决

4

1 回答 1

1

Numpy 做了一些不直观的事情,它不直观地称之为“广播”。这就是你需要的(只是你的尺寸向量上的一个更明确的维度):

>>> osize = (320, 320, 1)
>>> img_o = numpy.tile(fill_value, osize)
>>> img_o.shape
(320, 320, 3)
于 2013-04-04T06:01:59.143 回答