例如:
path = 'sresize/*.*'
for a, source in enumerate(glob.glob(path)):
print(a, source)
img = cv2.imread(source)
我可以将img
循环之外的对象称为for
吗?如果不是,是否有任何方法可以从目录生成图像,然后将其作为对象调用? ImageDataGenerator
除外。
感谢您提供有价值的信息:)
答案 0 :(得分:1)
现在,如果您使用img
,则会得到读取的最后一个img
。
您要将对象存储在列表或字典中,以便以后调用它们。
path = 'sresize/*.*'
imgs = {}
for a, source in enumerate(glob.glob(path)):
print(a, source)
imgs[a] = cv2.imread(source)
然后用img[0]
叫第一个,下一个叫img[1]
,依此类推。
答案 1 :(得分:0)
path = 'sresize/*.*'
images = []
for a, source in enumerate(glob.glob(path)):
print(a, source)
images.append(cv2.imread(source))
如果在for循环之前声明变量,则该垃圾回收器不会以任何语言在100%的循环中将垃圾回收器收集到该变量。
答案 2 :(得分:-1)
是的,因为一旦运行了for循环,python唯一从内存中删除的变量就是那些定义为循环一部分的变量。因此,在您的情况下,a和source的最后一个值将不可用