2016-10-23 4 views
1

У меня есть ndarray I из 100 цветных изображений, где I.shape есть: (100,1,3,100,200).Изменение размера изображения эффективно

Это изменение размера изображения: i=cv2.resize(i,(10,25)), но что такое эффективный способ изменить размер всех изображений в I, так что форма ndarray будет равна: (100,1,3,10,25)?

+0

взять советую сначала [здесь] (http://stackoverflow.com/a/19731584/6222397) –

+0

@HishamKaram Спасибо Хишам. Не могли бы вы попытаться изменить этот код для моей проблемы? Я не мог. –

ответ

2

Это предложение с использованием zoom функции от ndimage. Изменение размеров занимает около 69ms на моем компьютере:

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

Это аккуратное решение. Это должно быть: «1./10..1./8». хоть. Спасибо. –

+0

О, ну, извините! Должен теперь работать на python2 и 3. – jadsq

+0

Это было неэффективно, когда я использовал 0,5 миллиона изображений для приложения Deep Learning :( Желаю, если у вас есть подсказки, чтобы ускорить его или парализовать. Чем вы. –

Смежные вопросы