Python笔记:多张图片存入列表中,调用后显示

在实现某些函数处理功能时,有时候对批量图像进行处理,希望将处理后的图像传递给另一个函数进行处理,将多张图片作为返回值,需要一个列表存储这些图像作为参数传递给另一个函数。
这个我一开始在网上查的时候,看到是images = [[], []] * images_num 但最后输出时总是有错误TypeError: Expected Ptr<cv::UMat> for argument 'mat'。将images列表输出查看了一下,空列表
在这里插入图片描述

保存图像数据后的列表
在这里插入图片描述

图像是矩阵模式存储,直接设置列表为images = [[]]*images_num即可。

def f1():
	images = [[]] * images_num 
	for i in range images_num:
	 # 此处省略处理过程,img为处理后的图像
		images[i] = img 
	return images

可以将所有函数暂存入列表中作为返回值。如果将return放入for循环内将只能返回第一张图像数据。

def f2():
	# 调用函数f1
	images = f1()
	# 显示图像,可以直接使用imshow函数,不需要使用imread读取
	for img in images:
		cv2.imshow(‘img’, img)
		cv2.waitKey(100)

猜你喜欢

转载自blog.csdn.net/weixin_40649372/article/details/124035579