Python:将图像数据加载到具有给定图像路径的阵列中
问题描述:
我定义了一个将图像数据加载到数组中的函数。我的图像尺寸都是相同的200 * 200 * 3(RGB图像)。我将其加载到大小为N *的阵列200×200×3其中N为图像Python:将图像数据加载到具有给定图像路径的阵列中
我所定义的功能的数量是:
def getImgData(imgPaths):
#load image data
from scipy import misc
imgData = [] #assume its shape is unknown
for ii in range(len(imgPaths)):
temp = misc.imread(imgPaths[ii])
imgData[ii,:,:,:] = temp
return imgData
输入imgPaths是每一个列表元素,其中是图像的绝对路径。
但由于TypeError的原因,该函数无法按预期工作:列表索引必须是整数,而不是元组。看起来imgData = [](它不是一个数组)有什么问题
任何人都可以帮我解决它吗?谢谢!
答
的问题是在这条线:
imgData[ii,:,:,:] = temp
我认为,这是实现你期望得到什么:
def getImgData(imgPaths):
imgData = [misc.imread(path) for path in imgPaths]
return imgData
答
你通过数组的意思[N,200,200,3] ?数组必须有一个索引键和一个值。我认为你想要的是一个数组数组,其中数组中的每个索引都指向由misc.imread返回的数组? 这会给你
imgData [N] =图像数组。
我会正确下面的代码:
def getImgData(imgPaths):
#load image data
from scipy import misc
imgData = [misc.imread(path) for path in imgPaths]
return imgData