Python 有效地调整图像阵列的大小
我有一个包含100个彩色图像的数组Python 有效地调整图像阵列的大小,python,opencv,resize,Python,Opencv,Resize,我有一个包含100个彩色图像的数组I,其中I.shape是:(100,1,3100200) 这将调整单个图像的大小:i=cv2。调整大小(i,(10,25)),但是如何有效地调整i中所有图像的大小,从而使阵列形状变为:(100,1,3,10,25)?下面是一个使用ndimage中的zoom函数的建议。在我的计算机上调整大小大约需要69毫秒: import numpy as np I=np.random.randint(0,255,size=(100,1,3,100,200),dtype=np.u
I
,其中I.shape
是:(100,1,3100200)
这将调整单个图像的大小:
i=cv2。调整大小(i,(10,25))
,但是如何有效地调整i
中所有图像的大小,从而使阵列形状变为:(100,1,3,10,25)
?下面是一个使用ndimage
中的zoom
函数的建议。在我的计算机上调整大小大约需要69毫秒:
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)
带上alook@HishamKaram谢谢Hisham。你能为我的问题编辑一下代码吗?我不能。这是一个巧妙的解决方案。它应该是:“1/10,1/8.”。谢谢。哦,对了,对不起!现在应该适用于python2和Python3。当我将50万张图像用于深度学习应用程序时,这是低效的:(我希望你能给我一些提示,让它加速或瘫痪。比你更快。@HeshamEraqi你能更准确地告诉我什么是高效的吗?50万100x200 8位RGB图像是30 GB的数据,这需要大量的计算,需要大量的ram。但就效率而言,我真的不确定你想要的是什么.)。。.根据我笔记本电脑上的测试,调整20K图片(1.2GB)的大小大约需要12.5秒,因此处理0.5M图片大约需要5分钟,这对你来说还不够快吗?@HeshamEraqi事实上,代码在69毫秒内调整了100张图片的大小,因此调整0.5M图片的大小需要5到6分钟