0

我正在编写一个使用 30 张图像的代码,我想将这些图像放在一个数组中以调整它们的大小,然后在其他函数中使用它们。我正在尝试一些事情,但第二个循环只是向我展示了一个调整大小 30 倍的独特图像

    import cv2 as cv
    import glob
    import numpy as np


    files = glob.glob ("C:/Users/Project/imgs/*.jpg")
    images = np.empty(len(files))

    #This loop reads images and show rgb images
    #Works OK
    for i in files:
        #print(myFile)
        images= cv.imread(i)
        cv.imshow('myFile'+str(i),images)


    new = []
    for i in range(30):
        new = cv.resize(images,(200,266))
        cv.imshow('imagen', new)

    cv.waitKey(0)
    cv.destroyAllWindows()
4

1 回答 1

0

如果要保留许多元素,则首先创建空列表,然后使用apppend()将元素添加到列表中。

或多或少

all_images = []

for name in files:
    #print(name)
    image = cv.imread(name)
    cv.imshow('myFile '+name, image) # you don't need `str()`
    all_images.append(image)


resized_images = []

for image in all_images:
    new = cv.resize(image, (200,266))
    cv.imshow('imagen', new)
    resized_images.append(new)

如果您只想调整前 30 张图像的大小

for image in all_images[:30]:
于 2020-05-24T02:52:05.600 回答