python opencv 中的图像批处理不起作用

batch processing of images in python opencv is not working

我使用这段代码读取文件夹中的一系列 png 格式图像。但它只成功读取了一张图像。这是什么原因?

from glob import glob

for fn in glob('*.png'):
   im = cv2.imread(fn)

您只有一个变量(称为 im),因此它只能保存一张图像。您可能想要一个图像列表:

# Make empty list
imgs = []

for fn in glob('*.png'):
    im = cv2.imread(fn, cv2.IMREAD_COLOR)
    imgs.append(im)

或者,您可以使用 “列表理解”:

imgs = [ cv2.imread(fn, cv2.IMREAD_COLOR) for fn in glob('*.png') ]