如何将目录中的图像转换为np数组



我有存储在目录中的图像:

from pathlib import Path
from PIL import Image
import os, shutil
from os import listdir
## Image Resizing
from PIL import Image
# load and display an image with Matplotlib
from matplotlib import image
from matplotlib import pyplot

# Image folder
images_dir = Path('C:\Users\HP\Desktop\XXXXXXXXXXXXXXXXX\images').expanduser()
images_dir
dim = (400, 300)
# Resizing all the images to same dimension
X_image_train = []
for fname in listdir(images_dir):
fpath = os.path.join(images_dir, fname)
im = Image.open(fpath)
im_resized = im.resize(dim)
X_image_train.append(im_resized)
## Converting the image to numpy array
X_image_array=[]
for x in range(len(X_image_train)):
X_image=np.array(X_image_train[x],dtype='uint8')
X_image_array.append(X_image)
# Checking the size of a single image
X_image_array[0].shape
> (300, 400, 3)
# Checking the size of a single image
X_image_array[15].shape
> (300, 400, 3)

我想将"X_image_array"转换为具有以下dim的张量:

(2000,300, 400, 3)

其中2000是"图像"文件夹中的样本数。

这里需要帮助吗?

您可以使用np.stack()函数

np.stack(X_image_array) 

相关内容

  • 没有找到相关文章

最新更新