2016-10-23 6 views
1

Ich habe einen NDARRY I von 100 farbigen Bildern, wobei I.shape ist: (100,1,3,100,200).Größenanpassung von Bildern effizient

Dies ändert die Größe eines einzelnen Bildes: i=cv2.resize(i,(10,25)), aber was ist eine effiziente Möglichkeit, die Größe aller Bilder in I, so dass die ND-Form wird: (100,1,3,10,25)?

+0

take alook [hier] (http://stackoverflow.com/a/19731584/6222397) –

+0

@HishamKaram Dank Hisham. Können Sie bitte versuchen, diesen Code für mein Problem zu bearbeiten? Ich konnte nicht. –

Antwort

2

Hier ist ein Vorschlag mit zoom Funktion von ndimage. Die Redimensionierung dauert ca. 69ms auf meinem Computer:

import numpy as np 
I=np.random.randint(0,255,size=(100,1,3,100,200),dtype=np.uint8) 

from scipy.ndimage.interpolation import zoom 
I2=zoom(I,zoom=(1,1,1,1./10,1./8),order=1) 
+0

Dies ist eine saubere Lösung. Es sollte sein: "1./10,1.1./8." obwohl. Vielen Dank. –

+0

Oh, richtig, Entschuldigung! Sollte jetzt für python2 und 3 funktionieren. Diese – jadsq

+0

war ineffizient, wenn ich verwendet 0,5 Millionen Bilder für eine Deep Learning Anwendung :( Ich möchte, wenn Sie einige Hinweise haben, es zu beschleunigen oder zu lähmen. als Sie. –

Verwandte Themen