Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有效地调整图像阵列的大小_Python_Opencv_Resize - Fatal编程技术网

Python 有效地调整图像阵列的大小

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

我有一个包含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.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分钟