2013-04-04 3 views
-1

Je veux convertir le code Matlab donné à pythonconversion de Matlab à python de repmat

img_o = repmat(fill_value, osize); 

ici fill_value est une matrice 1x1x3 et osize=[320 320] matrice de sortie est 320x320x3

J'ai essayé

img_o = tile(fill_value, osize) 

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

ici, je reçois une matrice de 1x320x960 au lieu de 320x320x3 matrix s'il vous plaît aider à résoudre

Répondre

1

Numpy fait des choses qui l'appelle non intuitive nonintuitively « de radiodiffusion ». Voici ce dont vous avez besoin (juste une dimension plus explicite sur votre vecteur de taille):

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