如何将图像文件夹转换为npy文件



我有一个包含手势图像的文件夹。但为了让它在我的代码上工作,我需要把它改为X.npy和Y.npy。我找了很多关于这类问题的问题,但仍然一无所知。我该如何评估?如何转换文件夹以创建自己的npy数据集?有这个或任何转换器的代码吗?

我在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)

您可以参考以下GitHub repo中的代码片段,我在谷歌中找到了该代码片段,用于将图像文件夹转换为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])

最新更新