numpy 如何将图像文件夹转换为NPY文件?

nvbavucw  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(190)

我有一个文件夹,里面有手势的图片。但要使它在我的代码上工作,我需要将其更改为X.npy和Y.npy。我寻找了很多关于这类问题的问题,但仍然一无所知。我该如何评价这一点?如何转换文件夹以创建我自己的NPY数据集?这个转换器或任何转换器有什么代码吗?

nhaq1z21

nhaq1z211#

我在GitHub上找到了一段用于此目的的代码。

from PIL import Image
import os, sys
import cv2
import numpy as np

'''
Converts all images in a directory to '.npy' format.
Use np.save and np.load to save and load the images.
Use it for training your neural networks in ML/DL projects. 
'''

# Path to image directory

path = "/path/to/image/directory/"
dirs = os.listdir( path )
dirs.sort()
x_train=[]

def load_dataset():
    # Append images to a list
    for item in dirs:
        if os.path.isfile(path+item):
            im = Image.open(path+item).convert("RGB")
            im = np.array(im)
            x_train.append(im)

if __name__ == "__main__":

    load_dataset()

    # Convert and save the list of images in '.npy' format
    imgset=np.array(x_train)
    np.save("imgds.npy",imgset)
qacovj5a

qacovj5a2#

您可以参考以下GitHub repo中的代码片段,它是我在Google中找到的,用于将文件夹中的图像转换为NPY文件:
https://gist.github.com/anilsathyan7/ffb35601483ac46bd72790fde55f5c04
在本例中,文件夹中的所有图像都被转换为NumPy数组,并附加到名为x_Train的列表中。要将此图像列表转换并保存为单一的.npy格式文件,我们可以使用相同的代码片段:

imgset=np.array(x_train)
    np.save("imgds.npy",imgset)

若要将此图像列表转换并保存为多个“.npy”格式文件,请使用以下代码片段:

imgset=np.array(x_train,dtype=object)
    for i in range(len(imgset)):
        np.save("imgds"+str(i)+".npy",imgset[i])

相关问题